diff --git a/package-lock.json b/package-lock.json index b471fad38a..efe347bdbb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "synthetix", "version": "2.49.0", "license": "MIT", "dependencies": { @@ -2528,133 +2529,1172 @@ "web3": "^1.0.0-beta.36" } }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", + "dev": true, + "dependencies": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@nomiclabs/truffle-contract": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@nomiclabs/truffle-contract/-/truffle-contract-4.2.23.tgz", + "integrity": "sha512-Khj/Ts9r0LqEpGYhISbc+8WTOd6qJ4aFnDR+Ew+neqcjGnhwrIvuihNwPFWU6hDepW3Xod6Y+rTo90N8sLRDjw==", + "dev": true, + "dependencies": { + "@truffle/blockchain-utils": "^0.0.25", + "@truffle/contract-schema": "^3.2.5", + "@truffle/debug-utils": "^4.2.9", + "@truffle/error": "^0.0.11", + "@truffle/interface-adapter": "^0.4.16", + "bignumber.js": "^7.2.1", + "ethereum-ens": "^0.8.0", + "ethers": "^4.0.0-beta.1", + "source-map-support": "^0.5.19" + }, + "peerDependencies": { + "web3": "^1.2.1", + "web3-core-helpers": "^1.2.1", + "web3-core-promievent": "^1.2.1", + "web3-eth-abi": "^1.2.1", + "web3-utils": "^1.2.1" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/blockchain-utils": { + "version": "0.0.25", + "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.25.tgz", + "integrity": "sha512-XA5m0BfAWtysy5ChHyiAf1fXbJxJXphKk+eZ9Rb9Twi6fn3Jg4gnHNwYXJacYFEydqT5vr2s4Ou812JHlautpw==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.19" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/codec": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.7.1.tgz", + "integrity": "sha512-mNd6KnW6J0UB1zafGBXDlTEbCMvWpmPAJmzv7aF/nAIaN/F8UePSCiQ1OTQP39Rprj6GFiCCaWVnBAwum6UGSg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "bn.js": "^4.11.8", + "borc": "^2.1.2", + "debug": "^4.1.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.partition": "^4.6.0", + "lodash.sum": "^4.0.2", + "semver": "^6.3.0", + "source-map-support": "^0.5.19", + "utf8": "^3.0.0", + "web3-utils": "1.2.9" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/debug-utils": { + "version": "4.2.14", + "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-4.2.14.tgz", + "integrity": "sha512-g5UTX2DPTzrjRjBJkviGI2IrQRTTSvqjmNWCNZNXP+vgQKNxL9maLZhQ6oA3BuuByVW/kusgYeXt8+W1zynC8g==", + "dev": true, + "dependencies": { + "@truffle/codec": "^0.7.1", + "@trufflesuite/chromafi": "^2.2.1", + "chalk": "^2.4.2", + "debug": "^4.1.0", + "highlight.js": "^9.15.8", + "highlightjs-solidity": "^1.0.18" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/error": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.11.tgz", + "integrity": "sha512-ju6TucjlJkfYMmdraYY/IBJaFb+Sa+huhYtOoyOJ+G29KcgytUVnDzKGwC7Kgk6IsxQMm62Mc1E0GZzFbGGipw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/interface-adapter": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.4.24.tgz", + "integrity": "sha512-2Zho4dJbm/XGwNleY7FdxcjXiAR3SzdGklgrAW4N/YVmltaJv6bT56ACIbPNN6AdzkTSTO65OlsB/63sfSa/VA==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.3", + "ethers": "^4.0.32", + "web3": "1.3.6" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/interface-adapter/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/interface-adapter/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/interface-adapter/node_modules/eth-lib/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/interface-adapter/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/interface-adapter/node_modules/web3": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.3.6.tgz", + "integrity": "sha512-jEpPhnL6GDteifdVh7ulzlPrtVQeA30V9vnki9liYlUvLV82ZM7BNOQJiuzlDePuE+jZETZSP/0G/JlUVt6pOA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "web3-bzz": "1.3.6", + "web3-core": "1.3.6", + "web3-eth": "1.3.6", + "web3-eth-personal": "1.3.6", + "web3-net": "1.3.6", + "web3-shh": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/interface-adapter/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@truffle/interface-adapter/node_modules/web3-utils/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/@types/node": { + "version": "12.20.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz", + "integrity": "sha512-gIt+h4u2uTho2bsH1K250fUv5fHU71ET1yWT7bM4523zV/XrFb9jlWBOV4DO8FpscY+Sz/WEr1EEjIP2H4yumQ==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "dependencies": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/ethers/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/@nomiclabs/hardhat-truffle5/node_modules/fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/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, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", + "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", + "deprecated": "Support has ended for 9.x series. Upgrade to @latest", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": "*" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/highlightjs-solidity": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-1.2.2.tgz", + "integrity": "sha512-+cZ+1+nAO5Pi6c70TKuMcPmwqLECxiYhnQc1MxdXckK94zyWFMNZADzu98ECNlf5xCRdNh+XKp+eklmRU+Dniw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-bzz": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.3.6.tgz", + "integrity": "sha512-ibHdx1wkseujFejrtY7ZyC0QxQ4ATXjzcNUpaLrvM6AEae8prUiyT/OloG9FWDgFD2CPLwzKwfSQezYQlANNlw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40", + "underscore": "1.12.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-bzz/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.6.tgz", + "integrity": "sha512-gkLDM4T1Sc0T+HZIwxrNrwPg0IfWI0oABSglP2X5ZbBAYVUeEATA0o92LWV8BeF+okvKXLK1Fek/p6axwM/h3Q==", + "dev": true, + "dependencies": { + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-core-requestmanager": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-helpers": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.6.tgz", + "integrity": "sha512-nhtjA2ZbkppjlxTSwG0Ttu6FcPkVu1rCN5IFAOVpF/L0SEt+jy+O5l90+cjDq0jAYvlBwUwnbh2mR9hwDEJCNA==", + "dev": true, + "dependencies": { + "underscore": "1.12.1", + "web3-eth-iban": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-helpers/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-helpers/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-helpers/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-helpers/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-method": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.3.6.tgz", + "integrity": "sha512-RyegqVGxn0cyYW5yzAwkPlsSEynkdPiegd7RxgB4ak1eKk2Cv1q2x4C7D2sZjeeCEF+q6fOkVmo2OZNqS2iQxg==", + "dev": true, + "dependencies": { + "@ethersproject/transactions": "^5.0.0-beta.135", + "underscore": "1.12.1", + "web3-core-helpers": "1.3.6", + "web3-core-promievent": "1.3.6", + "web3-core-subscriptions": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-method/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-method/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-method/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-method/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-promievent": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.3.6.tgz", + "integrity": "sha512-Z+QzfyYDTXD5wJmZO5wwnRO8bAAHEItT1XNSPVb4J1CToV/I/SbF7CuF8Uzh2jns0Cm1109o666H7StFFvzVKw==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-requestmanager": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.3.6.tgz", + "integrity": "sha512-2rIaeuqeo7QN1Eex7aXP0ZqeteJEPWXYFS/M3r3LXMiV8R4STQBKE+//dnHJXoo2ctzEB5cgd+7NaJM8S3gPyA==", + "dev": true, + "dependencies": { + "underscore": "1.12.1", + "util": "^0.12.0", + "web3-core-helpers": "1.3.6", + "web3-providers-http": "1.3.6", + "web3-providers-ipc": "1.3.6", + "web3-providers-ws": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-requestmanager/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-subscriptions": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.3.6.tgz", + "integrity": "sha512-wi9Z9X5X75OKvxAg42GGIf81ttbNR2TxzkAsp1g+nnp5K8mBwgZvXrIsDuj7Z7gx72Y45mWJADCWjk/2vqNu8g==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "underscore": "1.12.1", + "web3-core-helpers": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core-subscriptions/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core/node_modules/bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-core/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.3.6.tgz", + "integrity": "sha512-9+rnywRRpyX3C4hfsAQXPQh6vHh9XzQkgLxo3gyeXfbhbShUoq2gFVuy42vsRs//6JlsKdyZS7Z3hHPHz2wreA==", + "dev": true, + "dependencies": { + "underscore": "1.12.1", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-core-subscriptions": "1.3.6", + "web3-eth-abi": "1.3.6", + "web3-eth-accounts": "1.3.6", + "web3-eth-contract": "1.3.6", + "web3-eth-ens": "1.3.6", + "web3-eth-iban": "1.3.6", + "web3-eth-personal": "1.3.6", + "web3-net": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-abi": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.6.tgz", + "integrity": "sha512-Or5cRnZu6WzgScpmbkvC6bfNxR26hqiKK4i8sMPFeTUABQcb/FU3pBj7huBLYbp9dH+P5W79D2MqwbWwjj9DoQ==", + "dev": true, + "dependencies": { + "@ethersproject/abi": "5.0.7", + "underscore": "1.12.1", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-abi/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-abi/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-abi/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-abi/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-accounts": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.3.6.tgz", + "integrity": "sha512-Ilr0hG6ONbCdSlVKffasCmNwftD5HsNpwyQASevocIQwHdTlvlwO0tb3oGYuajbKOaDzNTwXfz25bttAEoFCGA==", + "dev": true, + "dependencies": { + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-common": "^1.3.2", + "ethereumjs-tx": "^2.1.1", + "scrypt-js": "^3.0.1", + "underscore": "1.12.1", + "uuid": "3.3.2", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-accounts/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-accounts/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-accounts/node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-accounts/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-accounts/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-accounts/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-contract": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.3.6.tgz", + "integrity": "sha512-8gDaRrLF2HCg+YEZN1ov0zN35vmtPnGf3h1DxmJQK5Wm2lRMLomz9rsWsuvig3UJMHqZAQKD7tOl3ocJocQsmA==", + "dev": true, + "dependencies": { + "@types/bn.js": "^4.11.5", + "underscore": "1.12.1", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-core-promievent": "1.3.6", + "web3-core-subscriptions": "1.3.6", + "web3-eth-abi": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-contract/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-contract/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-contract/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-contract/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-ens": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.3.6.tgz", + "integrity": "sha512-n27HNj7lpSkRxTgSx+Zo7cmKAgyg2ElFilaFlUu/X2CNH23lXfcPm2bWssivH9z0ndhg0OyR4AYFZqPaqDHkJA==", + "dev": true, + "dependencies": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "underscore": "1.12.1", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-promievent": "1.3.6", + "web3-eth-abi": "1.3.6", + "web3-eth-contract": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-ens/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-ens/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-ens/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-ens/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-iban": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.3.6.tgz", + "integrity": "sha512-nfMQaaLA/zsg5W4Oy/EJQbs8rSs1vBAX6b/35xzjYoutXlpHMQadujDx2RerTKhSHqFXSJeQAfE+2f6mdhYkRQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-iban/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-iban/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-iban/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-iban/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=8.0.0" } }, - "node_modules/@nomiclabs/hardhat-truffle5/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-personal": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.3.6.tgz", + "integrity": "sha512-pOHU0+/h1RFRYoh1ehYBehRbcKWP4OSzd4F7mDljhHngv6W8ewMHrAN8O1ol9uysN2MuCdRE19qkRg5eNgvzFQ==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "dependencies": { + "@types/node": "^12.12.6", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-net": "1.3.6", + "web3-utils": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@nomiclabs/hardhat-truffle5/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-personal/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-personal/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-personal/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth-personal/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=8.0.0" } }, - "node_modules/@nomiclabs/hardhat-web3": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", - "integrity": "sha512-zt4xN+D+fKl3wW2YlTX3k9APR3XZgPkxJYf36AcliJn3oujnKEVRZaHu0PhgLjO+gR+F/kiYayo9fgd2L8970Q==", + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "dev": true, "dependencies": { - "@types/bignumber.js": "^5.0.0" + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-eth/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" }, - "peerDependencies": { - "hardhat": "^2.0.0", - "web3": "^1.0.0-beta.36" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@nomiclabs/truffle-contract": { - "version": "4.2.23", - "resolved": "https://registry.npmjs.org/@nomiclabs/truffle-contract/-/truffle-contract-4.2.23.tgz", - "integrity": "sha512-Khj/Ts9r0LqEpGYhISbc+8WTOd6qJ4aFnDR+Ew+neqcjGnhwrIvuihNwPFWU6hDepW3Xod6Y+rTo90N8sLRDjw==", + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-net": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.3.6.tgz", + "integrity": "sha512-KhzU3wMQY/YYjyMiQzbaLPt2kut88Ncx2iqjy3nw28vRux3gVX0WOCk9EL/KVJBiAA/fK7VklTXvgy9dZnnipw==", "dev": true, "dependencies": { - "@truffle/blockchain-utils": "^0.0.25", - "@truffle/contract-schema": "^3.2.5", - "@truffle/debug-utils": "^4.2.9", - "@truffle/error": "^0.0.11", - "@truffle/interface-adapter": "^0.4.16", - "bignumber.js": "^7.2.1", - "ethereum-ens": "^0.8.0", - "ethers": "^4.0.0-beta.1", - "source-map-support": "^0.5.19" + "web3-core": "1.3.6", + "web3-core-method": "1.3.6", + "web3-utils": "1.3.6" }, - "peerDependencies": { - "web3": "^1.2.1", - "web3-core-helpers": "^1.2.1", - "web3-core-promievent": "^1.2.1", - "web3-eth-abi": "^1.2.1", - "web3-utils": "^1.2.1" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@nomiclabs/truffle-contract/node_modules/bn.js": { + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-net/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/@nomiclabs/truffle-contract/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-net/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-net/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-net/node_modules/web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", "dev": true, "dependencies": { - "aes-js": "3.0.0", "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@nomiclabs/truffle-contract/node_modules/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==", + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-providers-http": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.3.6.tgz", + "integrity": "sha512-OQkT32O1A06dISIdazpGLveZcOXhEo5cEX6QyiSQkiPk/cjzDrXMw4SKZOGQbbS1+0Vjizm1Hrp7O8Vp2D1M5Q==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "web3-core-helpers": "1.3.6", + "xhr2-cookies": "1.1.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@nomiclabs/truffle-contract/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-providers-ipc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.3.6.tgz", + "integrity": "sha512-+TVsSd2sSVvVgHG4s6FXwwYPPT91boKKcRuEFXqEfAbUC5t52XOgmyc2LNiD9LzPhed65FbV4LqICpeYGUvSwA==", + "dev": true, + "dependencies": { + "oboe": "2.1.5", + "underscore": "1.12.1", + "web3-core-helpers": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } }, - "node_modules/@nomiclabs/truffle-contract/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-providers-ipc/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", "dev": true }, - "node_modules/@nomiclabs/truffle-contract/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-providers-ws": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.3.6.tgz", + "integrity": "sha512-bk7MnJf5or0Re2zKyhR3L3CjGululLCHXx4vlbc/drnaTARUVvi559OI5uLytc/1k5HKUUyENAxLvetz2G1dnQ==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "underscore": "1.12.1", + "web3-core-helpers": "1.3.6", + "websocket": "^1.0.32" + }, + "engines": { + "node": ">=8.0.0" + } }, - "node_modules/@nomiclabs/truffle-contract/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-providers-ws/node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", "dev": true }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-shh": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.3.6.tgz", + "integrity": "sha512-9zRo415O0iBslxBnmu9OzYjNErzLnzOsy+IOvSpIreLYbbAw0XkDWxv3SfcpKnTIWIACBR4AYMIxmmyi5iB3jw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "web3-core": "1.3.6", + "web3-core-method": "1.3.6", + "web3-core-subscriptions": "1.3.6", + "web3-net": "1.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-truffle5/node_modules/web3-utils": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.9.tgz", + "integrity": "sha512-9hcpuis3n/LxFzEVjwnVgvJzTirS2S9/MiNAa7l4WOEoywY+BSNwnRX4MuHnjkh9NY25B6QOjuNG6FNnSjTw1w==", + "dev": true, + "dependencies": { + "bn.js": "4.11.8", + "eth-lib": "0.2.7", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.9.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-web3": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", + "integrity": "sha512-zt4xN+D+fKl3wW2YlTX3k9APR3XZgPkxJYf36AcliJn3oujnKEVRZaHu0PhgLjO+gR+F/kiYayo9fgd2L8970Q==", + "dev": true, + "dependencies": { + "@types/bignumber.js": "^5.0.0" + }, + "peerDependencies": { + "hardhat": "^2.0.0", + "web3": "^1.0.0-beta.36" + } + }, "node_modules/@pinata/sdk": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/@pinata/sdk/-/sdk-1.1.11.tgz", @@ -2884,79 +3924,122 @@ } }, "node_modules/@truffle/blockchain-utils": { - "version": "0.0.25", - "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.25.tgz", - "integrity": "sha512-XA5m0BfAWtysy5ChHyiAf1fXbJxJXphKk+eZ9Rb9Twi6fn3Jg4gnHNwYXJacYFEydqT5vr2s4Ou812JHlautpw==", + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.31.tgz", + "integrity": "sha512-BFo/nyxwhoHqPrqBQA1EAmSxeNnspGLiOCMa9pAL7WYSjyNBlrHaqCMO/F2O87G+NUK/u06E70DiSP2BFP0ZZw==", "dev": true, - "dependencies": { - "source-map-support": "^0.5.19" - } + "optional": true }, "node_modules/@truffle/codec": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.7.1.tgz", - "integrity": "sha512-mNd6KnW6J0UB1zafGBXDlTEbCMvWpmPAJmzv7aF/nAIaN/F8UePSCiQ1OTQP39Rprj6GFiCCaWVnBAwum6UGSg==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.11.14.tgz", + "integrity": "sha512-KoQAJfaUUxHeGbOvIH2O2WWPCDod1p+t40vcXl+s5FReIuf2PQtVc46X/CGeaam7fi0I+AbVJYkHQlbZudEtWQ==", "dev": true, + "optional": true, "dependencies": { + "@truffle/abi-utils": "^0.2.4", + "@truffle/compile-common": "^0.7.20", "big.js": "^5.2.2", - "bn.js": "^4.11.8", - "borc": "^2.1.2", - "debug": "^4.1.0", + "bn.js": "^5.1.3", + "cbor": "^5.1.0", + "debug": "^4.3.1", "lodash.clonedeep": "^4.5.0", "lodash.escaperegexp": "^4.1.2", "lodash.partition": "^4.6.0", "lodash.sum": "^4.0.2", - "semver": "^6.3.0", - "source-map-support": "^0.5.19", + "semver": "^7.3.4", "utf8": "^3.0.0", - "web3-utils": "1.2.9" + "web3-utils": "1.5.2" } }, + "node_modules/@truffle/codec/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true, + "optional": true + }, "node_modules/@truffle/codec/node_modules/eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "dev": true, + "optional": true, "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", "xhr-request-promise": "^0.1.2" } }, + "node_modules/@truffle/codec/node_modules/eth-lib/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true, + "optional": true + }, + "node_modules/@truffle/codec/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@truffle/codec/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@truffle/codec/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/@truffle/codec/node_modules/web3-utils": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.9.tgz", - "integrity": "sha512-9hcpuis3n/LxFzEVjwnVgvJzTirS2S9/MiNAa7l4WOEoywY+BSNwnRX4MuHnjkh9NY25B6QOjuNG6FNnSjTw1w==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz", + "integrity": "sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==", "dev": true, + "optional": true, "dependencies": { - "bn.js": "4.11.8", - "eth-lib": "0.2.7", + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", "ethereum-bloom-filters": "^1.0.6", "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", "randombytes": "^2.1.0", - "underscore": "1.9.1", "utf8": "3.0.0" }, "engines": { "node": ">=8.0.0" } }, + "node_modules/@truffle/codec/node_modules/web3-utils/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true, + "optional": true + }, + "node_modules/@truffle/codec/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true + }, "node_modules/@truffle/compile-common": { "version": "0.7.20", "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.7.20.tgz", @@ -2971,13 +4054,6 @@ "debug": "^4.3.1" } }, - "node_modules/@truffle/compile-common/node_modules/@truffle/error": { - "version": "0.0.14", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.14.tgz", - "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", - "dev": true, - "optional": true - }, "node_modules/@truffle/contract": { "version": "4.3.35", "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.3.35.tgz", @@ -3039,69 +4115,6 @@ "@ethersproject/strings": "^5.0.4" } }, - "node_modules/@truffle/contract/node_modules/@truffle/blockchain-utils": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.31.tgz", - "integrity": "sha512-BFo/nyxwhoHqPrqBQA1EAmSxeNnspGLiOCMa9pAL7WYSjyNBlrHaqCMO/F2O87G+NUK/u06E70DiSP2BFP0ZZw==", - "dev": true, - "optional": true - }, - "node_modules/@truffle/contract/node_modules/@truffle/codec": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.11.14.tgz", - "integrity": "sha512-KoQAJfaUUxHeGbOvIH2O2WWPCDod1p+t40vcXl+s5FReIuf2PQtVc46X/CGeaam7fi0I+AbVJYkHQlbZudEtWQ==", - "dev": true, - "optional": true, - "dependencies": { - "@truffle/abi-utils": "^0.2.4", - "@truffle/compile-common": "^0.7.20", - "big.js": "^5.2.2", - "bn.js": "^5.1.3", - "cbor": "^5.1.0", - "debug": "^4.3.1", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.partition": "^4.6.0", - "lodash.sum": "^4.0.2", - "semver": "^7.3.4", - "utf8": "^3.0.0", - "web3-utils": "1.5.2" - } - }, - "node_modules/@truffle/contract/node_modules/@truffle/debug-utils": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-5.1.15.tgz", - "integrity": "sha512-E+bcBQl+H4TF52Fg/1jqOF8NBLWQ8M+LNNpcHBznkzqARs1qBwuuCKlm1xhliqE5lwENeZoEnDZiL+IbupwgZg==", - "dev": true, - "optional": true, - "dependencies": { - "@truffle/codec": "^0.11.14", - "@trufflesuite/chromafi": "^2.2.2", - "bn.js": "^5.1.3", - "chalk": "^2.4.2", - "debug": "^4.3.1", - "highlightjs-solidity": "^2.0.0" - } - }, - "node_modules/@truffle/contract/node_modules/@truffle/error": { - "version": "0.0.14", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.14.tgz", - "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", - "dev": true, - "optional": true - }, - "node_modules/@truffle/contract/node_modules/@truffle/interface-adapter": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.6.tgz", - "integrity": "sha512-c8+5iAYduWQVTLcv6P0DiIR/nvv3E92vzkyIeeXcfyS+rmrxpEnWwL4Fs63LGpmt5Th0Fo0w+nTa2Qz4sfDRWA==", - "dev": true, - "optional": true, - "dependencies": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.5.2" - } - }, "node_modules/@truffle/contract/node_modules/@types/node": { "version": "12.20.26", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz", @@ -3110,9 +4123,9 @@ "optional": true }, "node_modules/@truffle/contract/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true, "optional": true }, @@ -3128,13 +4141,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/@truffle/contract/node_modules/eth-lib/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - }, "node_modules/@truffle/contract/node_modules/ethereumjs-util": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", @@ -3163,6 +4169,13 @@ "@types/node": "*" } }, + "node_modules/@truffle/contract/node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true, + "optional": true + }, "node_modules/@truffle/contract/node_modules/ethers": { "version": "4.0.49", "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", @@ -3181,13 +4194,6 @@ "xmlhttprequest": "1.8.0" } }, - "node_modules/@truffle/contract/node_modules/ethers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - }, "node_modules/@truffle/contract/node_modules/hash.js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", @@ -3199,13 +4205,6 @@ "minimalistic-assert": "^1.0.0" } }, - "node_modules/@truffle/contract/node_modules/highlightjs-solidity": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.0.tgz", - "integrity": "sha512-104Nitqem7ntqVR4FyF+a+whp7C15g5moC/K7eHWyet09+wjUVCWcSm2dcaVKOIPAHGiW8X7knq+ZGwkg3aq+A==", - "dev": true, - "optional": true - }, "node_modules/@truffle/contract/node_modules/js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", @@ -3213,19 +4212,6 @@ "dev": true, "optional": true }, - "node_modules/@truffle/contract/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@truffle/contract/node_modules/scrypt-js": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", @@ -3233,22 +4219,6 @@ "dev": true, "optional": true }, - "node_modules/@truffle/contract/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@truffle/contract/node_modules/setimmediate": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", @@ -3538,13 +4508,6 @@ "node": ">=8.0.0" } }, - "node_modules/@truffle/contract/node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - }, "node_modules/@truffle/contract/node_modules/web3-eth-personal": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz", @@ -3657,38 +4620,32 @@ "node": ">=8.0.0" } }, - "node_modules/@truffle/contract/node_modules/web3-utils/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - }, - "node_modules/@truffle/contract/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "optional": true - }, "node_modules/@truffle/debug-utils": { - "version": "4.2.14", - "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-4.2.14.tgz", - "integrity": "sha512-g5UTX2DPTzrjRjBJkviGI2IrQRTTSvqjmNWCNZNXP+vgQKNxL9maLZhQ6oA3BuuByVW/kusgYeXt8+W1zynC8g==", + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-5.1.15.tgz", + "integrity": "sha512-E+bcBQl+H4TF52Fg/1jqOF8NBLWQ8M+LNNpcHBznkzqARs1qBwuuCKlm1xhliqE5lwENeZoEnDZiL+IbupwgZg==", "dev": true, + "optional": true, "dependencies": { - "@truffle/codec": "^0.7.1", - "@trufflesuite/chromafi": "^2.2.1", + "@truffle/codec": "^0.11.14", + "@trufflesuite/chromafi": "^2.2.2", + "bn.js": "^5.1.3", "chalk": "^2.4.2", - "debug": "^4.1.0", - "highlight.js": "^9.15.8", - "highlightjs-solidity": "^1.0.18" + "debug": "^4.3.1", + "highlightjs-solidity": "^2.0.0" } }, + "node_modules/@truffle/debug-utils/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true, + "optional": true + }, "node_modules/@truffle/error": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.11.tgz", - "integrity": "sha512-ju6TucjlJkfYMmdraYY/IBJaFb+Sa+huhYtOoyOJ+G29KcgytUVnDzKGwC7Kgk6IsxQMm62Mc1E0GZzFbGGipw==", + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.14.tgz", + "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", "dev": true }, "node_modules/@truffle/expect": { @@ -3699,14 +4656,14 @@ "optional": true }, "node_modules/@truffle/interface-adapter": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.4.24.tgz", - "integrity": "sha512-2Zho4dJbm/XGwNleY7FdxcjXiAR3SzdGklgrAW4N/YVmltaJv6bT56ACIbPNN6AdzkTSTO65OlsB/63sfSa/VA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.6.tgz", + "integrity": "sha512-c8+5iAYduWQVTLcv6P0DiIR/nvv3E92vzkyIeeXcfyS+rmrxpEnWwL4Fs63LGpmt5Th0Fo0w+nTa2Qz4sfDRWA==", "dev": true, "dependencies": { "bn.js": "^5.1.3", "ethers": "^4.0.32", - "web3": "1.3.6" + "web3": "1.5.2" } }, "node_modules/@truffle/interface-adapter/node_modules/@ethersproject/abi": { @@ -3764,6 +4721,32 @@ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, + "node_modules/@truffle/interface-adapter/node_modules/ethereumjs-util": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", + "integrity": "sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw==", + "dev": true, + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@truffle/interface-adapter/node_modules/ethereumjs-util/node_modules/@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@truffle/interface-adapter/node_modules/ethers": { "version": "4.0.49", "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", @@ -3815,12 +4798,6 @@ "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", "dev": true }, - "node_modules/@truffle/interface-adapter/node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true - }, "node_modules/@truffle/interface-adapter/node_modules/uuid": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", @@ -3829,93 +4806,91 @@ "dev": true }, "node_modules/@truffle/interface-adapter/node_modules/web3": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.3.6.tgz", - "integrity": "sha512-jEpPhnL6GDteifdVh7ulzlPrtVQeA30V9vnki9liYlUvLV82ZM7BNOQJiuzlDePuE+jZETZSP/0G/JlUVt6pOA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.2.tgz", + "integrity": "sha512-aapKLdO8t7Cos6tZLeeQUtCJvTiPMlLcHsHHDLSBZ/VaJEucSTxzun32M8sp3BmF4waDEmhY+iyUM1BKvtAcVQ==", "dev": true, "hasInstallScript": true, "dependencies": { - "web3-bzz": "1.3.6", - "web3-core": "1.3.6", - "web3-eth": "1.3.6", - "web3-eth-personal": "1.3.6", - "web3-net": "1.3.6", - "web3-shh": "1.3.6", - "web3-utils": "1.3.6" + "web3-bzz": "1.5.2", + "web3-core": "1.5.2", + "web3-eth": "1.5.2", + "web3-eth-personal": "1.5.2", + "web3-net": "1.5.2", + "web3-shh": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-bzz": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.3.6.tgz", - "integrity": "sha512-ibHdx1wkseujFejrtY7ZyC0QxQ4ATXjzcNUpaLrvM6AEae8prUiyT/OloG9FWDgFD2CPLwzKwfSQezYQlANNlw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.2.tgz", + "integrity": "sha512-W/sPCdA+XQ9duUYKHAwf/g69cbbV8gTCRsa1MpZwU7spXECiyJ2EvD/QzAZ+UpJk3GELXFF/fUByeZ3VRQKF2g==", "dev": true, "hasInstallScript": true, "dependencies": { "@types/node": "^12.12.6", "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.12.1" + "swarm-js": "^0.1.40" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-core": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.6.tgz", - "integrity": "sha512-gkLDM4T1Sc0T+HZIwxrNrwPg0IfWI0oABSglP2X5ZbBAYVUeEATA0o92LWV8BeF+okvKXLK1Fek/p6axwM/h3Q==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", + "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", "dev": true, "dependencies": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-core-requestmanager": "1.3.6", - "web3-utils": "1.3.6" + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-core-requestmanager": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-core-helpers": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.6.tgz", - "integrity": "sha512-nhtjA2ZbkppjlxTSwG0Ttu6FcPkVu1rCN5IFAOVpF/L0SEt+jy+O5l90+cjDq0jAYvlBwUwnbh2mR9hwDEJCNA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", + "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", "dev": true, "dependencies": { - "underscore": "1.12.1", - "web3-eth-iban": "1.3.6", - "web3-utils": "1.3.6" + "web3-eth-iban": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-core-method": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.3.6.tgz", - "integrity": "sha512-RyegqVGxn0cyYW5yzAwkPlsSEynkdPiegd7RxgB4ak1eKk2Cv1q2x4C7D2sZjeeCEF+q6fOkVmo2OZNqS2iQxg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", + "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", "dev": true, "dependencies": { + "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6", - "web3-core-promievent": "1.3.6", - "web3-core-subscriptions": "1.3.6", - "web3-utils": "1.3.6" + "web3-core-helpers": "1.5.2", + "web3-core-promievent": "1.5.2", + "web3-core-subscriptions": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-core-promievent": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.3.6.tgz", - "integrity": "sha512-Z+QzfyYDTXD5wJmZO5wwnRO8bAAHEItT1XNSPVb4J1CToV/I/SbF7CuF8Uzh2jns0Cm1109o666H7StFFvzVKw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", + "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", "dev": true, "dependencies": { "eventemitter3": "4.0.4" @@ -3925,91 +4900,87 @@ } }, "node_modules/@truffle/interface-adapter/node_modules/web3-core-requestmanager": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.3.6.tgz", - "integrity": "sha512-2rIaeuqeo7QN1Eex7aXP0ZqeteJEPWXYFS/M3r3LXMiV8R4STQBKE+//dnHJXoo2ctzEB5cgd+7NaJM8S3gPyA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", + "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", "dev": true, "dependencies": { - "underscore": "1.12.1", "util": "^0.12.0", - "web3-core-helpers": "1.3.6", - "web3-providers-http": "1.3.6", - "web3-providers-ipc": "1.3.6", - "web3-providers-ws": "1.3.6" + "web3-core-helpers": "1.5.2", + "web3-providers-http": "1.5.2", + "web3-providers-ipc": "1.5.2", + "web3-providers-ws": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-core-subscriptions": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.3.6.tgz", - "integrity": "sha512-wi9Z9X5X75OKvxAg42GGIf81ttbNR2TxzkAsp1g+nnp5K8mBwgZvXrIsDuj7Z7gx72Y45mWJADCWjk/2vqNu8g==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", + "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", "dev": true, "dependencies": { "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6" + "web3-core-helpers": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-eth": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.3.6.tgz", - "integrity": "sha512-9+rnywRRpyX3C4hfsAQXPQh6vHh9XzQkgLxo3gyeXfbhbShUoq2gFVuy42vsRs//6JlsKdyZS7Z3hHPHz2wreA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.2.tgz", + "integrity": "sha512-DwWQ6TCOUqvYyo7T20S7HpQDPveNHNqOn2Q2F3E8ZFyEjmqT4XsGiwvm08kB/VgQ4e/ANyq/i8PPFSYMT8JKHg==", "dev": true, "dependencies": { - "underscore": "1.12.1", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-core-subscriptions": "1.3.6", - "web3-eth-abi": "1.3.6", - "web3-eth-accounts": "1.3.6", - "web3-eth-contract": "1.3.6", - "web3-eth-ens": "1.3.6", - "web3-eth-iban": "1.3.6", - "web3-eth-personal": "1.3.6", - "web3-net": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-core-subscriptions": "1.5.2", + "web3-eth-abi": "1.5.2", + "web3-eth-accounts": "1.5.2", + "web3-eth-contract": "1.5.2", + "web3-eth-ens": "1.5.2", + "web3-eth-iban": "1.5.2", + "web3-eth-personal": "1.5.2", + "web3-net": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-eth-abi": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.6.tgz", - "integrity": "sha512-Or5cRnZu6WzgScpmbkvC6bfNxR26hqiKK4i8sMPFeTUABQcb/FU3pBj7huBLYbp9dH+P5W79D2MqwbWwjj9DoQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", + "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", "dev": true, "dependencies": { "@ethersproject/abi": "5.0.7", - "underscore": "1.12.1", - "web3-utils": "1.3.6" + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-eth-accounts": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.3.6.tgz", - "integrity": "sha512-Ilr0hG6ONbCdSlVKffasCmNwftD5HsNpwyQASevocIQwHdTlvlwO0tb3oGYuajbKOaDzNTwXfz25bttAEoFCGA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.2.tgz", + "integrity": "sha512-F8mtzxgEhxfLc66vPi0Gqd6mpscvvk7Ua575bsJ1p9J2X/VtuKgDgpWcU4e4LKeROQ+ouCpAG9//0j9jQuij3A==", "dev": true, "dependencies": { + "@ethereumjs/common": "^2.3.0", + "@ethereumjs/tx": "^3.2.1", "crypto-browserify": "3.12.0", "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^7.0.10", "scrypt-js": "^3.0.1", - "underscore": "1.12.1", "uuid": "3.3.2", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" @@ -4032,53 +5003,51 @@ } }, "node_modules/@truffle/interface-adapter/node_modules/web3-eth-contract": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.3.6.tgz", - "integrity": "sha512-8gDaRrLF2HCg+YEZN1ov0zN35vmtPnGf3h1DxmJQK5Wm2lRMLomz9rsWsuvig3UJMHqZAQKD7tOl3ocJocQsmA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.2.tgz", + "integrity": "sha512-4B8X/IPFxZCTmtENpdWXtyw5fskf2muyc3Jm5brBQRb4H3lVh1/ZyQy7vOIkdphyaXu4m8hBLHzeyKkd37mOUg==", "dev": true, "dependencies": { "@types/bn.js": "^4.11.5", - "underscore": "1.12.1", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-core-promievent": "1.3.6", - "web3-core-subscriptions": "1.3.6", - "web3-eth-abi": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-core-promievent": "1.5.2", + "web3-core-subscriptions": "1.5.2", + "web3-eth-abi": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-eth-ens": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.3.6.tgz", - "integrity": "sha512-n27HNj7lpSkRxTgSx+Zo7cmKAgyg2ElFilaFlUu/X2CNH23lXfcPm2bWssivH9z0ndhg0OyR4AYFZqPaqDHkJA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.2.tgz", + "integrity": "sha512-/UrLL42ZOCYge+BpFBdzG8ICugaRS4f6X7PxJKO+zAt+TwNgBpjuWfW/ZYNcuqJun/ZyfcTuj03TXqA1RlNhZQ==", "dev": true, "dependencies": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", - "underscore": "1.12.1", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-promievent": "1.3.6", - "web3-eth-abi": "1.3.6", - "web3-eth-contract": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-promievent": "1.5.2", + "web3-eth-abi": "1.5.2", + "web3-eth-contract": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-eth-iban": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.3.6.tgz", - "integrity": "sha512-nfMQaaLA/zsg5W4Oy/EJQbs8rSs1vBAX6b/35xzjYoutXlpHMQadujDx2RerTKhSHqFXSJeQAfE+2f6mdhYkRQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", + "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", "dev": true, "dependencies": { "bn.js": "^4.11.9", - "web3-utils": "1.3.6" + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" @@ -4091,43 +5060,43 @@ "dev": true }, "node_modules/@truffle/interface-adapter/node_modules/web3-eth-personal": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.3.6.tgz", - "integrity": "sha512-pOHU0+/h1RFRYoh1ehYBehRbcKWP4OSzd4F7mDljhHngv6W8ewMHrAN8O1ol9uysN2MuCdRE19qkRg5eNgvzFQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz", + "integrity": "sha512-nH5N2GiVC0C5XeMEKU16PeFP3Hb3hkPvlR6Tf9WQ+pE+jw1c8eaXBO1CJQLr15ikhUF3s94ICyHcfjzkDsmRbA==", "dev": true, "dependencies": { "@types/node": "^12.12.6", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-net": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-net": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-net": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.3.6.tgz", - "integrity": "sha512-KhzU3wMQY/YYjyMiQzbaLPt2kut88Ncx2iqjy3nw28vRux3gVX0WOCk9EL/KVJBiAA/fK7VklTXvgy9dZnnipw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.2.tgz", + "integrity": "sha512-VEc9c+jfoERhbJIxnx0VPlQDot8Lm4JW/tOWFU+ekHgIiu2zFKj5YxhURIth7RAbsaRsqCb79aE+M0eI8maxVQ==", "dev": true, "dependencies": { - "web3-core": "1.3.6", - "web3-core-method": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-method": "1.5.2", + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-providers-http": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.3.6.tgz", - "integrity": "sha512-OQkT32O1A06dISIdazpGLveZcOXhEo5cEX6QyiSQkiPk/cjzDrXMw4SKZOGQbbS1+0Vjizm1Hrp7O8Vp2D1M5Q==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", + "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", "dev": true, "dependencies": { - "web3-core-helpers": "1.3.6", + "web3-core-helpers": "1.5.2", "xhr2-cookies": "1.1.0" }, "engines": { @@ -4135,28 +5104,26 @@ } }, "node_modules/@truffle/interface-adapter/node_modules/web3-providers-ipc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.3.6.tgz", - "integrity": "sha512-+TVsSd2sSVvVgHG4s6FXwwYPPT91boKKcRuEFXqEfAbUC5t52XOgmyc2LNiD9LzPhed65FbV4LqICpeYGUvSwA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", + "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", "dev": true, "dependencies": { "oboe": "2.1.5", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6" + "web3-core-helpers": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-providers-ws": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.3.6.tgz", - "integrity": "sha512-bk7MnJf5or0Re2zKyhR3L3CjGululLCHXx4vlbc/drnaTARUVvi559OI5uLytc/1k5HKUUyENAxLvetz2G1dnQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", + "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", "dev": true, "dependencies": { "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6", + "web3-core-helpers": "1.5.2", "websocket": "^1.0.32" }, "engines": { @@ -4164,25 +5131,25 @@ } }, "node_modules/@truffle/interface-adapter/node_modules/web3-shh": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.3.6.tgz", - "integrity": "sha512-9zRo415O0iBslxBnmu9OzYjNErzLnzOsy+IOvSpIreLYbbAw0XkDWxv3SfcpKnTIWIACBR4AYMIxmmyi5iB3jw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.2.tgz", + "integrity": "sha512-wOxOcYt4Sa0AHAI8gG7RulCwVuVjSRS/M/AbFsea3XfJdN6sU13/syY7OdZNjNYuKjYTzxKYrd3dU/K2iqffVw==", "dev": true, "hasInstallScript": true, "dependencies": { - "web3-core": "1.3.6", - "web3-core-method": "1.3.6", - "web3-core-subscriptions": "1.3.6", - "web3-net": "1.3.6" + "web3-core": "1.5.2", + "web3-core-method": "1.5.2", + "web3-core-subscriptions": "1.5.2", + "web3-net": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/@truffle/interface-adapter/node_modules/web3-utils": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", - "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz", + "integrity": "sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==", "dev": true, "dependencies": { "bn.js": "^4.11.9", @@ -4191,7 +5158,6 @@ "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", "randombytes": "^2.1.0", - "underscore": "1.12.1", "utf8": "3.0.0" }, "engines": { @@ -4232,23 +5198,6 @@ "@ethersproject/strings": "^5.0.4" } }, - "node_modules/@truffle/provider/node_modules/@truffle/error": { - "version": "0.0.14", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.14.tgz", - "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", - "dev": true - }, - "node_modules/@truffle/provider/node_modules/@truffle/interface-adapter": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.6.tgz", - "integrity": "sha512-c8+5iAYduWQVTLcv6P0DiIR/nvv3E92vzkyIeeXcfyS+rmrxpEnWwL4Fs63LGpmt5Th0Fo0w+nTa2Qz4sfDRWA==", - "dev": true, - "dependencies": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.5.2" - } - }, "node_modules/@truffle/provider/node_modules/@types/node": { "version": "12.20.26", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz", @@ -4265,9 +5214,9 @@ } }, "node_modules/@truffle/provider/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "node_modules/@truffle/provider/node_modules/eth-lib": { @@ -4281,12 +5230,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/@truffle/provider/node_modules/eth-lib/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/@truffle/provider/node_modules/ethereumjs-util": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", @@ -4313,63 +5256,21 @@ "@types/node": "*" } }, - "node_modules/@truffle/provider/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "node_modules/@truffle/provider/node_modules/ethers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/@truffle/provider/node_modules/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, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/@truffle/provider/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - }, - "node_modules/@truffle/provider/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "node_modules/@truffle/provider/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "node_modules/@truffle/provider/node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, "node_modules/@truffle/provider/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true + "dev": true, + "bin": { + "uuid": "bin/uuid" + } }, "node_modules/@truffle/provider/node_modules/web3": { "version": "1.5.2", @@ -4552,22 +5453,6 @@ "node": ">=8.0.0" } }, - "node_modules/@truffle/provider/node_modules/web3-eth-accounts/node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", - "dev": true - }, - "node_modules/@truffle/provider/node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/@truffle/provider/node_modules/web3-eth-contract": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.2.tgz", @@ -4619,12 +5504,6 @@ "node": ">=8.0.0" } }, - "node_modules/@truffle/provider/node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/@truffle/provider/node_modules/web3-eth-personal": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz", @@ -4730,12 +5609,6 @@ "node": ">=8.0.0" } }, - "node_modules/@truffle/provider/node_modules/web3-utils/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/@trufflesuite/chromafi": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/@trufflesuite/chromafi/-/chromafi-2.2.2.tgz", @@ -4758,15 +5631,6 @@ "super-split": "^1.1.0" } }, - "node_modules/@trufflesuite/chromafi/node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/@types/abstract-leveldown": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-5.0.2.tgz", @@ -8424,25 +9288,6 @@ "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, "node_modules/eslint-plugin-havven": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-havven/-/eslint-plugin-havven-1.1.0.tgz", @@ -8539,6 +9384,25 @@ "eslint": ">=5.16.0" } }, + "node_modules/eslint-plugin-node/node_modules/eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, "node_modules/eslint-plugin-node/node_modules/ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", @@ -13929,21 +14793,20 @@ } }, "node_modules/highlight.js": { - "version": "9.18.5", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", - "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", - "deprecated": "Support has ended for 9.x series. Upgrade to @latest", + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true, - "hasInstallScript": true, "engines": { "node": "*" } }, "node_modules/highlightjs-solidity": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-1.2.2.tgz", - "integrity": "sha512-+cZ+1+nAO5Pi6c70TKuMcPmwqLECxiYhnQc1MxdXckK94zyWFMNZADzu98ECNlf5xCRdNh+XKp+eklmRU+Dniw==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.0.tgz", + "integrity": "sha512-104Nitqem7ntqVR4FyF+a+whp7C15g5moC/K7eHWyet09+wjUVCWcSm2dcaVKOIPAHGiW8X7knq+ZGwkg3aq+A==", + "dev": true, + "optional": true }, "node_modules/hmac-drbg": { "version": "1.0.1", @@ -17028,9 +17891,9 @@ } }, "node_modules/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-aD1fO+xtLiSCc9vuD+sYMxpIuQyhHscGSkBEo2o5LTV/3bTEAYvdUii29n8LlO5uLCmWdGP7uVUVXFo5SRdkLA==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", "dev": true, "dependencies": { "whatwg-url": "^5.0.0" @@ -21453,38 +22316,6 @@ "node": ">=6.0.0" } }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -21976,10 +22807,9 @@ } }, "node_modules/underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", - "dev": true + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, "node_modules/union-value": { "version": "1.0.1", @@ -22723,12 +23553,6 @@ "integrity": "sha512-gIt+h4u2uTho2bsH1K250fUv5fHU71ET1yWT7bM4523zV/XrFb9jlWBOV4DO8FpscY+Sz/WEr1EEjIP2H4yumQ==", "dev": true }, - "node_modules/web3-bzz/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-core": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.3.tgz", @@ -22751,8 +23575,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", - "dev": true, - "peer": true, + "extraneous": true, "dependencies": { "web3-eth-iban": "1.5.3", "web3-utils": "1.5.3" @@ -22765,15 +23588,13 @@ "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true + "extraneous": true }, "node_modules/web3-core-helpers/node_modules/eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "peer": true, + "extraneous": true, "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -22784,8 +23605,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "peer": true, + "extraneous": true, "dependencies": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -22833,12 +23653,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-core-method/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-core-method/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -22901,8 +23715,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", - "dev": true, - "peer": true, + "extraneous": true, "dependencies": { "eventemitter3": "4.0.4" }, @@ -22944,12 +23757,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-core-requestmanager/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-core-requestmanager/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -23027,12 +23834,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-core-subscriptions/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-core-subscriptions/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -23111,12 +23912,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-core/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-core/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -23286,12 +24081,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-eth-accounts/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-eth-accounts/node_modules/uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", @@ -23402,12 +24191,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-eth-contract/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-eth-contract/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -23534,12 +24317,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-eth-ens/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-eth-ens/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -23616,8 +24393,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz", "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", - "dev": true, - "peer": true, + "extraneous": true, "dependencies": { "bn.js": "^4.11.9", "web3-utils": "1.5.3" @@ -23630,15 +24406,13 @@ "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true + "extraneous": true }, "node_modules/web3-eth-iban/node_modules/eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "peer": true, + "extraneous": true, "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -23649,8 +24423,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "peer": true, + "extraneous": true, "dependencies": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -23704,12 +24477,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-eth-personal/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-eth-personal/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -23790,12 +24557,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-eth/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-eth/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -23887,12 +24648,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-net/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-net/node_modules/web3-utils": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.3.tgz", @@ -23942,12 +24697,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-providers-http/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-providers-http/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -24025,12 +24774,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-providers-ipc/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-providers-ipc/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -24109,12 +24852,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-providers-ws/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3-providers-ws/node_modules/web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -24204,11 +24941,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3-utils/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" - }, "node_modules/web3/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", @@ -24226,12 +24958,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/web3/node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "node_modules/web3/node_modules/web3-utils": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.3.tgz", @@ -24572,6 +25298,38 @@ "node": ">=0.10.0" } }, + "node_modules/webpack/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, "node_modules/webpack/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", @@ -30522,119 +31280,1079 @@ "fs-extra": "^7.0.1" }, "dependencies": { + "@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" + } + }, + "@nomiclabs/truffle-contract": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@nomiclabs/truffle-contract/-/truffle-contract-4.2.23.tgz", + "integrity": "sha512-Khj/Ts9r0LqEpGYhISbc+8WTOd6qJ4aFnDR+Ew+neqcjGnhwrIvuihNwPFWU6hDepW3Xod6Y+rTo90N8sLRDjw==", + "dev": true, + "requires": { + "@truffle/blockchain-utils": "^0.0.25", + "@truffle/contract-schema": "^3.2.5", + "@truffle/debug-utils": "^4.2.9", + "@truffle/error": "^0.0.11", + "@truffle/interface-adapter": "^0.4.16", + "bignumber.js": "^7.2.1", + "ethereum-ens": "^0.8.0", + "ethers": "^4.0.0-beta.1", + "source-map-support": "^0.5.19" + } + }, + "@truffle/blockchain-utils": { + "version": "0.0.25", + "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.25.tgz", + "integrity": "sha512-XA5m0BfAWtysy5ChHyiAf1fXbJxJXphKk+eZ9Rb9Twi6fn3Jg4gnHNwYXJacYFEydqT5vr2s4Ou812JHlautpw==", + "dev": true, + "requires": { + "source-map-support": "^0.5.19" + } + }, + "@truffle/codec": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.7.1.tgz", + "integrity": "sha512-mNd6KnW6J0UB1zafGBXDlTEbCMvWpmPAJmzv7aF/nAIaN/F8UePSCiQ1OTQP39Rprj6GFiCCaWVnBAwum6UGSg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "bn.js": "^4.11.8", + "borc": "^2.1.2", + "debug": "^4.1.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.partition": "^4.6.0", + "lodash.sum": "^4.0.2", + "semver": "^6.3.0", + "source-map-support": "^0.5.19", + "utf8": "^3.0.0", + "web3-utils": "1.2.9" + } + }, + "@truffle/debug-utils": { + "version": "4.2.14", + "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-4.2.14.tgz", + "integrity": "sha512-g5UTX2DPTzrjRjBJkviGI2IrQRTTSvqjmNWCNZNXP+vgQKNxL9maLZhQ6oA3BuuByVW/kusgYeXt8+W1zynC8g==", + "dev": true, + "requires": { + "@truffle/codec": "^0.7.1", + "@trufflesuite/chromafi": "^2.2.1", + "chalk": "^2.4.2", + "debug": "^4.1.0", + "highlight.js": "^9.15.8", + "highlightjs-solidity": "^1.0.18" + } + }, + "@truffle/error": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.11.tgz", + "integrity": "sha512-ju6TucjlJkfYMmdraYY/IBJaFb+Sa+huhYtOoyOJ+G29KcgytUVnDzKGwC7Kgk6IsxQMm62Mc1E0GZzFbGGipw==", + "dev": true + }, + "@truffle/interface-adapter": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.4.24.tgz", + "integrity": "sha512-2Zho4dJbm/XGwNleY7FdxcjXiAR3SzdGklgrAW4N/YVmltaJv6bT56ACIbPNN6AdzkTSTO65OlsB/63sfSa/VA==", + "dev": true, + "requires": { + "bn.js": "^5.1.3", + "ethers": "^4.0.32", + "web3": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.3.6.tgz", + "integrity": "sha512-jEpPhnL6GDteifdVh7ulzlPrtVQeA30V9vnki9liYlUvLV82ZM7BNOQJiuzlDePuE+jZETZSP/0G/JlUVt6pOA==", + "dev": true, + "requires": { + "web3-bzz": "1.3.6", + "web3-core": "1.3.6", + "web3-eth": "1.3.6", + "web3-eth-personal": "1.3.6", + "web3-net": "1.3.6", + "web3-shh": "1.3.6", + "web3-utils": "1.3.6" + } + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + } + } + }, + "@types/node": { + "version": "12.20.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz", + "integrity": "sha512-gIt+h4u2uTho2bsH1K250fUv5fHU71ET1yWT7bM4523zV/XrFb9jlWBOV4DO8FpscY+Sz/WEr1EEjIP2H4yumQ==", + "dev": true + }, + "eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "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" + } + }, + "highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", + "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", + "dev": true + }, + "highlightjs-solidity": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-1.2.2.tgz", + "integrity": "sha512-+cZ+1+nAO5Pi6c70TKuMcPmwqLECxiYhnQc1MxdXckK94zyWFMNZADzu98ECNlf5xCRdNh+XKp+eklmRU+Dniw==", + "dev": true + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "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.6" + } + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "dev": true + }, + "web3-bzz": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.3.6.tgz", + "integrity": "sha512-ibHdx1wkseujFejrtY7ZyC0QxQ4ATXjzcNUpaLrvM6AEae8prUiyT/OloG9FWDgFD2CPLwzKwfSQezYQlANNlw==", + "dev": true, + "requires": { + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40", + "underscore": "1.12.1" + }, + "dependencies": { + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + } + } + }, + "web3-core": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.6.tgz", + "integrity": "sha512-gkLDM4T1Sc0T+HZIwxrNrwPg0IfWI0oABSglP2X5ZbBAYVUeEATA0o92LWV8BeF+okvKXLK1Fek/p6axwM/h3Q==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-core-requestmanager": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", + "dev": true + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } + } + }, + "web3-core-helpers": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.6.tgz", + "integrity": "sha512-nhtjA2ZbkppjlxTSwG0Ttu6FcPkVu1rCN5IFAOVpF/L0SEt+jy+O5l90+cjDq0jAYvlBwUwnbh2mR9hwDEJCNA==", + "dev": true, + "requires": { + "underscore": "1.12.1", + "web3-eth-iban": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } + } + }, + "web3-core-method": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.3.6.tgz", + "integrity": "sha512-RyegqVGxn0cyYW5yzAwkPlsSEynkdPiegd7RxgB4ak1eKk2Cv1q2x4C7D2sZjeeCEF+q6fOkVmo2OZNqS2iQxg==", + "dev": true, + "requires": { + "@ethersproject/transactions": "^5.0.0-beta.135", + "underscore": "1.12.1", + "web3-core-helpers": "1.3.6", + "web3-core-promievent": "1.3.6", + "web3-core-subscriptions": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } + } + }, + "web3-core-promievent": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.3.6.tgz", + "integrity": "sha512-Z+QzfyYDTXD5wJmZO5wwnRO8bAAHEItT1XNSPVb4J1CToV/I/SbF7CuF8Uzh2jns0Cm1109o666H7StFFvzVKw==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-core-requestmanager": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.3.6.tgz", + "integrity": "sha512-2rIaeuqeo7QN1Eex7aXP0ZqeteJEPWXYFS/M3r3LXMiV8R4STQBKE+//dnHJXoo2ctzEB5cgd+7NaJM8S3gPyA==", + "dev": true, + "requires": { + "underscore": "1.12.1", + "util": "^0.12.0", + "web3-core-helpers": "1.3.6", + "web3-providers-http": "1.3.6", + "web3-providers-ipc": "1.3.6", + "web3-providers-ws": "1.3.6" + }, + "dependencies": { + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + } + } + }, + "web3-core-subscriptions": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.3.6.tgz", + "integrity": "sha512-wi9Z9X5X75OKvxAg42GGIf81ttbNR2TxzkAsp1g+nnp5K8mBwgZvXrIsDuj7Z7gx72Y45mWJADCWjk/2vqNu8g==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "underscore": "1.12.1", + "web3-core-helpers": "1.3.6" + }, + "dependencies": { + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + } + } + }, + "web3-eth": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.3.6.tgz", + "integrity": "sha512-9+rnywRRpyX3C4hfsAQXPQh6vHh9XzQkgLxo3gyeXfbhbShUoq2gFVuy42vsRs//6JlsKdyZS7Z3hHPHz2wreA==", + "dev": true, + "requires": { + "underscore": "1.12.1", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-core-subscriptions": "1.3.6", + "web3-eth-abi": "1.3.6", + "web3-eth-accounts": "1.3.6", + "web3-eth-contract": "1.3.6", + "web3-eth-ens": "1.3.6", + "web3-eth-iban": "1.3.6", + "web3-eth-personal": "1.3.6", + "web3-net": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-abi": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.6.tgz", + "integrity": "sha512-Or5cRnZu6WzgScpmbkvC6bfNxR26hqiKK4i8sMPFeTUABQcb/FU3pBj7huBLYbp9dH+P5W79D2MqwbWwjj9DoQ==", + "dev": true, + "requires": { + "@ethersproject/abi": "5.0.7", + "underscore": "1.12.1", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-accounts": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.3.6.tgz", + "integrity": "sha512-Ilr0hG6ONbCdSlVKffasCmNwftD5HsNpwyQASevocIQwHdTlvlwO0tb3oGYuajbKOaDzNTwXfz25bttAEoFCGA==", + "dev": true, + "requires": { + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-common": "^1.3.2", + "ethereumjs-tx": "^2.1.1", + "scrypt-js": "^3.0.1", + "underscore": "1.12.1", + "uuid": "3.3.2", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "dev": true + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-contract": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.3.6.tgz", + "integrity": "sha512-8gDaRrLF2HCg+YEZN1ov0zN35vmtPnGf3h1DxmJQK5Wm2lRMLomz9rsWsuvig3UJMHqZAQKD7tOl3ocJocQsmA==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.5", + "underscore": "1.12.1", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-core-promievent": "1.3.6", + "web3-core-subscriptions": "1.3.6", + "web3-eth-abi": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } } }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "web3-eth-ens": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.3.6.tgz", + "integrity": "sha512-n27HNj7lpSkRxTgSx+Zo7cmKAgyg2ElFilaFlUu/X2CNH23lXfcPm2bWssivH9z0ndhg0OyR4AYFZqPaqDHkJA==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "underscore": "1.12.1", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-promievent": "1.3.6", + "web3-eth-abi": "1.3.6", + "web3-eth-contract": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "@nomiclabs/hardhat-web3": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", - "integrity": "sha512-zt4xN+D+fKl3wW2YlTX3k9APR3XZgPkxJYf36AcliJn3oujnKEVRZaHu0PhgLjO+gR+F/kiYayo9fgd2L8970Q==", - "dev": true, - "requires": { - "@types/bignumber.js": "^5.0.0" - } - }, - "@nomiclabs/truffle-contract": { - "version": "4.2.23", - "resolved": "https://registry.npmjs.org/@nomiclabs/truffle-contract/-/truffle-contract-4.2.23.tgz", - "integrity": "sha512-Khj/Ts9r0LqEpGYhISbc+8WTOd6qJ4aFnDR+Ew+neqcjGnhwrIvuihNwPFWU6hDepW3Xod6Y+rTo90N8sLRDjw==", - "dev": true, - "requires": { - "@truffle/blockchain-utils": "^0.0.25", - "@truffle/contract-schema": "^3.2.5", - "@truffle/debug-utils": "^4.2.9", - "@truffle/error": "^0.0.11", - "@truffle/interface-adapter": "^0.4.16", - "bignumber.js": "^7.2.1", - "ethereum-ens": "^0.8.0", - "ethers": "^4.0.0-beta.1", - "source-map-support": "^0.5.19" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "web3-eth-iban": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.3.6.tgz", + "integrity": "sha512-nfMQaaLA/zsg5W4Oy/EJQbs8rSs1vBAX6b/35xzjYoutXlpHMQadujDx2RerTKhSHqFXSJeQAfE+2f6mdhYkRQ==", "dev": true, "requires": { - "aes-js": "3.0.0", "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } } }, - "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==", + "web3-eth-personal": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.3.6.tgz", + "integrity": "sha512-pOHU0+/h1RFRYoh1ehYBehRbcKWP4OSzd4F7mDljhHngv6W8ewMHrAN8O1ol9uysN2MuCdRE19qkRg5eNgvzFQ==", "dev": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "@types/node": "^12.12.6", + "web3-core": "1.3.6", + "web3-core-helpers": "1.3.6", + "web3-core-method": "1.3.6", + "web3-net": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } } }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true + "web3-net": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.3.6.tgz", + "integrity": "sha512-KhzU3wMQY/YYjyMiQzbaLPt2kut88Ncx2iqjy3nw28vRux3gVX0WOCk9EL/KVJBiAA/fK7VklTXvgy9dZnnipw==", + "dev": true, + "requires": { + "web3-core": "1.3.6", + "web3-core-method": "1.3.6", + "web3-utils": "1.3.6" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, + "web3-utils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", + "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.12.1", + "utf8": "3.0.0" + } + } + } }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true + "web3-providers-http": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.3.6.tgz", + "integrity": "sha512-OQkT32O1A06dISIdazpGLveZcOXhEo5cEX6QyiSQkiPk/cjzDrXMw4SKZOGQbbS1+0Vjizm1Hrp7O8Vp2D1M5Q==", + "dev": true, + "requires": { + "web3-core-helpers": "1.3.6", + "xhr2-cookies": "1.1.0" + } }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true + "web3-providers-ipc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.3.6.tgz", + "integrity": "sha512-+TVsSd2sSVvVgHG4s6FXwwYPPT91boKKcRuEFXqEfAbUC5t52XOgmyc2LNiD9LzPhed65FbV4LqICpeYGUvSwA==", + "dev": true, + "requires": { + "oboe": "2.1.5", + "underscore": "1.12.1", + "web3-core-helpers": "1.3.6" + }, + "dependencies": { + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + } + } }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "dev": true + "web3-providers-ws": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.3.6.tgz", + "integrity": "sha512-bk7MnJf5or0Re2zKyhR3L3CjGululLCHXx4vlbc/drnaTARUVvi559OI5uLytc/1k5HKUUyENAxLvetz2G1dnQ==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "underscore": "1.12.1", + "web3-core-helpers": "1.3.6", + "websocket": "^1.0.32" + }, + "dependencies": { + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + } + } + }, + "web3-shh": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.3.6.tgz", + "integrity": "sha512-9zRo415O0iBslxBnmu9OzYjNErzLnzOsy+IOvSpIreLYbbAw0XkDWxv3SfcpKnTIWIACBR4AYMIxmmyi5iB3jw==", + "dev": true, + "requires": { + "web3-core": "1.3.6", + "web3-core-method": "1.3.6", + "web3-core-subscriptions": "1.3.6", + "web3-net": "1.3.6" + } + }, + "web3-utils": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.9.tgz", + "integrity": "sha512-9hcpuis3n/LxFzEVjwnVgvJzTirS2S9/MiNAa7l4WOEoywY+BSNwnRX4MuHnjkh9NY25B6QOjuNG6FNnSjTw1w==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "eth-lib": "0.2.7", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.9.1", + "utf8": "3.0.0" + } } } }, + "@nomiclabs/hardhat-web3": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", + "integrity": "sha512-zt4xN+D+fKl3wW2YlTX3k9APR3XZgPkxJYf36AcliJn3oujnKEVRZaHu0PhgLjO+gR+F/kiYayo9fgd2L8970Q==", + "dev": true, + "requires": { + "@types/bignumber.js": "^5.0.0" + } + }, "@pinata/sdk": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/@pinata/sdk/-/sdk-1.1.11.tgz", @@ -30847,72 +32565,113 @@ } }, "@truffle/blockchain-utils": { - "version": "0.0.25", - "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.25.tgz", - "integrity": "sha512-XA5m0BfAWtysy5ChHyiAf1fXbJxJXphKk+eZ9Rb9Twi6fn3Jg4gnHNwYXJacYFEydqT5vr2s4Ou812JHlautpw==", + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.31.tgz", + "integrity": "sha512-BFo/nyxwhoHqPrqBQA1EAmSxeNnspGLiOCMa9pAL7WYSjyNBlrHaqCMO/F2O87G+NUK/u06E70DiSP2BFP0ZZw==", "dev": true, - "requires": { - "source-map-support": "^0.5.19" - } + "optional": true }, "@truffle/codec": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.7.1.tgz", - "integrity": "sha512-mNd6KnW6J0UB1zafGBXDlTEbCMvWpmPAJmzv7aF/nAIaN/F8UePSCiQ1OTQP39Rprj6GFiCCaWVnBAwum6UGSg==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.11.14.tgz", + "integrity": "sha512-KoQAJfaUUxHeGbOvIH2O2WWPCDod1p+t40vcXl+s5FReIuf2PQtVc46X/CGeaam7fi0I+AbVJYkHQlbZudEtWQ==", "dev": true, + "optional": true, "requires": { + "@truffle/abi-utils": "^0.2.4", + "@truffle/compile-common": "^0.7.20", "big.js": "^5.2.2", - "bn.js": "^4.11.8", - "borc": "^2.1.2", - "debug": "^4.1.0", + "bn.js": "^5.1.3", + "cbor": "^5.1.0", + "debug": "^4.3.1", "lodash.clonedeep": "^4.5.0", "lodash.escaperegexp": "^4.1.2", "lodash.partition": "^4.6.0", "lodash.sum": "^4.0.2", - "semver": "^6.3.0", - "source-map-support": "^0.5.19", + "semver": "^7.3.4", "utf8": "^3.0.0", - "web3-utils": "1.2.9" + "web3-utils": "1.5.2" }, "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true, + "optional": true + }, "eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "dev": true, + "optional": true, "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", "xhr-request-promise": "^0.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true, + "optional": true + } } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "web3-utils": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.9.tgz", - "integrity": "sha512-9hcpuis3n/LxFzEVjwnVgvJzTirS2S9/MiNAa7l4WOEoywY+BSNwnRX4MuHnjkh9NY25B6QOjuNG6FNnSjTw1w==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz", + "integrity": "sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==", "dev": true, + "optional": true, "requires": { - "bn.js": "4.11.8", - "eth-lib": "0.2.7", + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", "ethereum-bloom-filters": "^1.0.6", "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", "randombytes": "^2.1.0", - "underscore": "1.9.1", "utf8": "3.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true, + "optional": true + } } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true } } }, @@ -30928,15 +32687,6 @@ "@truffle/expect": "^0.0.18", "colors": "^1.4.0", "debug": "^4.3.1" - }, - "dependencies": { - "@truffle/error": { - "version": "0.0.14", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.14.tgz", - "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", - "dev": true, - "optional": true - } } }, "@truffle/contract": { @@ -30979,69 +32729,6 @@ "@ethersproject/strings": "^5.0.4" } }, - "@truffle/blockchain-utils": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.31.tgz", - "integrity": "sha512-BFo/nyxwhoHqPrqBQA1EAmSxeNnspGLiOCMa9pAL7WYSjyNBlrHaqCMO/F2O87G+NUK/u06E70DiSP2BFP0ZZw==", - "dev": true, - "optional": true - }, - "@truffle/codec": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.11.14.tgz", - "integrity": "sha512-KoQAJfaUUxHeGbOvIH2O2WWPCDod1p+t40vcXl+s5FReIuf2PQtVc46X/CGeaam7fi0I+AbVJYkHQlbZudEtWQ==", - "dev": true, - "optional": true, - "requires": { - "@truffle/abi-utils": "^0.2.4", - "@truffle/compile-common": "^0.7.20", - "big.js": "^5.2.2", - "bn.js": "^5.1.3", - "cbor": "^5.1.0", - "debug": "^4.3.1", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.partition": "^4.6.0", - "lodash.sum": "^4.0.2", - "semver": "^7.3.4", - "utf8": "^3.0.0", - "web3-utils": "1.5.2" - } - }, - "@truffle/debug-utils": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-5.1.15.tgz", - "integrity": "sha512-E+bcBQl+H4TF52Fg/1jqOF8NBLWQ8M+LNNpcHBznkzqARs1qBwuuCKlm1xhliqE5lwENeZoEnDZiL+IbupwgZg==", - "dev": true, - "optional": true, - "requires": { - "@truffle/codec": "^0.11.14", - "@trufflesuite/chromafi": "^2.2.2", - "bn.js": "^5.1.3", - "chalk": "^2.4.2", - "debug": "^4.3.1", - "highlightjs-solidity": "^2.0.0" - } - }, - "@truffle/error": { - "version": "0.0.14", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.14.tgz", - "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", - "dev": true, - "optional": true - }, - "@truffle/interface-adapter": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.6.tgz", - "integrity": "sha512-c8+5iAYduWQVTLcv6P0DiIR/nvv3E92vzkyIeeXcfyS+rmrxpEnWwL4Fs63LGpmt5Th0Fo0w+nTa2Qz4sfDRWA==", - "dev": true, - "optional": true, - "requires": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.5.2" - } - }, "@types/node": { "version": "12.20.26", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz", @@ -31050,9 +32737,9 @@ "optional": true }, "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true, "optional": true }, @@ -31066,15 +32753,6 @@ "bn.js": "^4.11.6", "elliptic": "^6.4.0", "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - } } }, "ethereumjs-util": { @@ -31101,6 +32779,13 @@ "requires": { "@types/node": "*" } + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true, + "optional": true } } }, @@ -31120,15 +32805,6 @@ "setimmediate": "1.0.4", "uuid": "2.0.1", "xmlhttprequest": "1.8.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - } } }, "hash.js": { @@ -31142,13 +32818,6 @@ "minimalistic-assert": "^1.0.0" } }, - "highlightjs-solidity": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.0.tgz", - "integrity": "sha512-104Nitqem7ntqVR4FyF+a+whp7C15g5moC/K7eHWyet09+wjUVCWcSm2dcaVKOIPAHGiW8X7knq+ZGwkg3aq+A==", - "dev": true, - "optional": true - }, "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", @@ -31156,16 +32825,6 @@ "dev": true, "optional": true }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "optional": true, - "requires": { - "yallist": "^4.0.0" - } - }, "scrypt-js": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", @@ -31173,16 +32832,6 @@ "dev": true, "optional": true }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "setimmediate": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", @@ -31422,15 +33071,6 @@ "requires": { "bn.js": "^4.11.9", "web3-utils": "1.5.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - } } }, "web3-eth-personal": { @@ -31521,23 +33161,7 @@ "number-to-bn": "1.7.0", "randombytes": "^2.1.0", "utf8": "3.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - } } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "optional": true } } }, @@ -31563,23 +33187,33 @@ } }, "@truffle/debug-utils": { - "version": "4.2.14", - "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-4.2.14.tgz", - "integrity": "sha512-g5UTX2DPTzrjRjBJkviGI2IrQRTTSvqjmNWCNZNXP+vgQKNxL9maLZhQ6oA3BuuByVW/kusgYeXt8+W1zynC8g==", + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-5.1.15.tgz", + "integrity": "sha512-E+bcBQl+H4TF52Fg/1jqOF8NBLWQ8M+LNNpcHBznkzqARs1qBwuuCKlm1xhliqE5lwENeZoEnDZiL+IbupwgZg==", "dev": true, + "optional": true, "requires": { - "@truffle/codec": "^0.7.1", - "@trufflesuite/chromafi": "^2.2.1", + "@truffle/codec": "^0.11.14", + "@trufflesuite/chromafi": "^2.2.2", + "bn.js": "^5.1.3", "chalk": "^2.4.2", - "debug": "^4.1.0", - "highlight.js": "^9.15.8", - "highlightjs-solidity": "^1.0.18" + "debug": "^4.3.1", + "highlightjs-solidity": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true, + "optional": true + } } }, "@truffle/error": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.11.tgz", - "integrity": "sha512-ju6TucjlJkfYMmdraYY/IBJaFb+Sa+huhYtOoyOJ+G29KcgytUVnDzKGwC7Kgk6IsxQMm62Mc1E0GZzFbGGipw==", + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.14.tgz", + "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", "dev": true }, "@truffle/expect": { @@ -31590,14 +33224,14 @@ "optional": true }, "@truffle/interface-adapter": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.4.24.tgz", - "integrity": "sha512-2Zho4dJbm/XGwNleY7FdxcjXiAR3SzdGklgrAW4N/YVmltaJv6bT56ACIbPNN6AdzkTSTO65OlsB/63sfSa/VA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.6.tgz", + "integrity": "sha512-c8+5iAYduWQVTLcv6P0DiIR/nvv3E92vzkyIeeXcfyS+rmrxpEnWwL4Fs63LGpmt5Th0Fo0w+nTa2Qz4sfDRWA==", "dev": true, "requires": { "bn.js": "^5.1.3", "ethers": "^4.0.32", - "web3": "1.3.6" + "web3": "1.5.2" }, "dependencies": { "@ethersproject/abi": { @@ -31654,6 +33288,31 @@ } } }, + "ethereumjs-util": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz", + "integrity": "sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw==", + "dev": true, + "requires": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + }, + "dependencies": { + "@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "dev": true, + "requires": { + "@types/node": "*" + } + } + } + }, "ethers": { "version": "4.0.49", "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", @@ -31707,12 +33366,6 @@ "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", "dev": true }, - "underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true - }, "uuid": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", @@ -31720,155 +33373,149 @@ "dev": true }, "web3": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.3.6.tgz", - "integrity": "sha512-jEpPhnL6GDteifdVh7ulzlPrtVQeA30V9vnki9liYlUvLV82ZM7BNOQJiuzlDePuE+jZETZSP/0G/JlUVt6pOA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.2.tgz", + "integrity": "sha512-aapKLdO8t7Cos6tZLeeQUtCJvTiPMlLcHsHHDLSBZ/VaJEucSTxzun32M8sp3BmF4waDEmhY+iyUM1BKvtAcVQ==", "dev": true, "requires": { - "web3-bzz": "1.3.6", - "web3-core": "1.3.6", - "web3-eth": "1.3.6", - "web3-eth-personal": "1.3.6", - "web3-net": "1.3.6", - "web3-shh": "1.3.6", - "web3-utils": "1.3.6" + "web3-bzz": "1.5.2", + "web3-core": "1.5.2", + "web3-eth": "1.5.2", + "web3-eth-personal": "1.5.2", + "web3-net": "1.5.2", + "web3-shh": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-bzz": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.3.6.tgz", - "integrity": "sha512-ibHdx1wkseujFejrtY7ZyC0QxQ4ATXjzcNUpaLrvM6AEae8prUiyT/OloG9FWDgFD2CPLwzKwfSQezYQlANNlw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.2.tgz", + "integrity": "sha512-W/sPCdA+XQ9duUYKHAwf/g69cbbV8gTCRsa1MpZwU7spXECiyJ2EvD/QzAZ+UpJk3GELXFF/fUByeZ3VRQKF2g==", "dev": true, "requires": { "@types/node": "^12.12.6", "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.12.1" + "swarm-js": "^0.1.40" } }, "web3-core": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.6.tgz", - "integrity": "sha512-gkLDM4T1Sc0T+HZIwxrNrwPg0IfWI0oABSglP2X5ZbBAYVUeEATA0o92LWV8BeF+okvKXLK1Fek/p6axwM/h3Q==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.2.tgz", + "integrity": "sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA==", "dev": true, "requires": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-core-requestmanager": "1.3.6", - "web3-utils": "1.3.6" + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-core-requestmanager": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-core-helpers": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.6.tgz", - "integrity": "sha512-nhtjA2ZbkppjlxTSwG0Ttu6FcPkVu1rCN5IFAOVpF/L0SEt+jy+O5l90+cjDq0jAYvlBwUwnbh2mR9hwDEJCNA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz", + "integrity": "sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg==", "dev": true, "requires": { - "underscore": "1.12.1", - "web3-eth-iban": "1.3.6", - "web3-utils": "1.3.6" + "web3-eth-iban": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-core-method": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.3.6.tgz", - "integrity": "sha512-RyegqVGxn0cyYW5yzAwkPlsSEynkdPiegd7RxgB4ak1eKk2Cv1q2x4C7D2sZjeeCEF+q6fOkVmo2OZNqS2iQxg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.2.tgz", + "integrity": "sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg==", "dev": true, "requires": { + "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6", - "web3-core-promievent": "1.3.6", - "web3-core-subscriptions": "1.3.6", - "web3-utils": "1.3.6" + "web3-core-helpers": "1.5.2", + "web3-core-promievent": "1.5.2", + "web3-core-subscriptions": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-core-promievent": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.3.6.tgz", - "integrity": "sha512-Z+QzfyYDTXD5wJmZO5wwnRO8bAAHEItT1XNSPVb4J1CToV/I/SbF7CuF8Uzh2jns0Cm1109o666H7StFFvzVKw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz", + "integrity": "sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ==", "dev": true, "requires": { "eventemitter3": "4.0.4" } }, "web3-core-requestmanager": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.3.6.tgz", - "integrity": "sha512-2rIaeuqeo7QN1Eex7aXP0ZqeteJEPWXYFS/M3r3LXMiV8R4STQBKE+//dnHJXoo2ctzEB5cgd+7NaJM8S3gPyA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz", + "integrity": "sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw==", "dev": true, "requires": { - "underscore": "1.12.1", "util": "^0.12.0", - "web3-core-helpers": "1.3.6", - "web3-providers-http": "1.3.6", - "web3-providers-ipc": "1.3.6", - "web3-providers-ws": "1.3.6" + "web3-core-helpers": "1.5.2", + "web3-providers-http": "1.5.2", + "web3-providers-ipc": "1.5.2", + "web3-providers-ws": "1.5.2" } }, "web3-core-subscriptions": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.3.6.tgz", - "integrity": "sha512-wi9Z9X5X75OKvxAg42GGIf81ttbNR2TxzkAsp1g+nnp5K8mBwgZvXrIsDuj7Z7gx72Y45mWJADCWjk/2vqNu8g==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz", + "integrity": "sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ==", "dev": true, "requires": { "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6" + "web3-core-helpers": "1.5.2" } }, "web3-eth": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.3.6.tgz", - "integrity": "sha512-9+rnywRRpyX3C4hfsAQXPQh6vHh9XzQkgLxo3gyeXfbhbShUoq2gFVuy42vsRs//6JlsKdyZS7Z3hHPHz2wreA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.2.tgz", + "integrity": "sha512-DwWQ6TCOUqvYyo7T20S7HpQDPveNHNqOn2Q2F3E8ZFyEjmqT4XsGiwvm08kB/VgQ4e/ANyq/i8PPFSYMT8JKHg==", "dev": true, "requires": { - "underscore": "1.12.1", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-core-subscriptions": "1.3.6", - "web3-eth-abi": "1.3.6", - "web3-eth-accounts": "1.3.6", - "web3-eth-contract": "1.3.6", - "web3-eth-ens": "1.3.6", - "web3-eth-iban": "1.3.6", - "web3-eth-personal": "1.3.6", - "web3-net": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-core-subscriptions": "1.5.2", + "web3-eth-abi": "1.5.2", + "web3-eth-accounts": "1.5.2", + "web3-eth-contract": "1.5.2", + "web3-eth-ens": "1.5.2", + "web3-eth-iban": "1.5.2", + "web3-eth-personal": "1.5.2", + "web3-net": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-eth-abi": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.6.tgz", - "integrity": "sha512-Or5cRnZu6WzgScpmbkvC6bfNxR26hqiKK4i8sMPFeTUABQcb/FU3pBj7huBLYbp9dH+P5W79D2MqwbWwjj9DoQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", + "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", "dev": true, "requires": { "@ethersproject/abi": "5.0.7", - "underscore": "1.12.1", - "web3-utils": "1.3.6" + "web3-utils": "1.5.2" } }, "web3-eth-accounts": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.3.6.tgz", - "integrity": "sha512-Ilr0hG6ONbCdSlVKffasCmNwftD5HsNpwyQASevocIQwHdTlvlwO0tb3oGYuajbKOaDzNTwXfz25bttAEoFCGA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.2.tgz", + "integrity": "sha512-F8mtzxgEhxfLc66vPi0Gqd6mpscvvk7Ua575bsJ1p9J2X/VtuKgDgpWcU4e4LKeROQ+ouCpAG9//0j9jQuij3A==", "dev": true, "requires": { + "@ethereumjs/common": "^2.3.0", + "@ethereumjs/tx": "^3.2.1", "crypto-browserify": "3.12.0", "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^7.0.10", "scrypt-js": "^3.0.1", - "underscore": "1.12.1", "uuid": "3.3.2", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-utils": "1.5.2" }, "dependencies": { "scrypt-js": { @@ -31886,47 +33533,45 @@ } }, "web3-eth-contract": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.3.6.tgz", - "integrity": "sha512-8gDaRrLF2HCg+YEZN1ov0zN35vmtPnGf3h1DxmJQK5Wm2lRMLomz9rsWsuvig3UJMHqZAQKD7tOl3ocJocQsmA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.2.tgz", + "integrity": "sha512-4B8X/IPFxZCTmtENpdWXtyw5fskf2muyc3Jm5brBQRb4H3lVh1/ZyQy7vOIkdphyaXu4m8hBLHzeyKkd37mOUg==", "dev": true, "requires": { "@types/bn.js": "^4.11.5", - "underscore": "1.12.1", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-core-promievent": "1.3.6", - "web3-core-subscriptions": "1.3.6", - "web3-eth-abi": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-core-promievent": "1.5.2", + "web3-core-subscriptions": "1.5.2", + "web3-eth-abi": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-eth-ens": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.3.6.tgz", - "integrity": "sha512-n27HNj7lpSkRxTgSx+Zo7cmKAgyg2ElFilaFlUu/X2CNH23lXfcPm2bWssivH9z0ndhg0OyR4AYFZqPaqDHkJA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.2.tgz", + "integrity": "sha512-/UrLL42ZOCYge+BpFBdzG8ICugaRS4f6X7PxJKO+zAt+TwNgBpjuWfW/ZYNcuqJun/ZyfcTuj03TXqA1RlNhZQ==", "dev": true, "requires": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", - "underscore": "1.12.1", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-promievent": "1.3.6", - "web3-eth-abi": "1.3.6", - "web3-eth-contract": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-promievent": "1.5.2", + "web3-eth-abi": "1.5.2", + "web3-eth-contract": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-eth-iban": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.3.6.tgz", - "integrity": "sha512-nfMQaaLA/zsg5W4Oy/EJQbs8rSs1vBAX6b/35xzjYoutXlpHMQadujDx2RerTKhSHqFXSJeQAfE+2f6mdhYkRQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz", + "integrity": "sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg==", "dev": true, "requires": { "bn.js": "^4.11.9", - "web3-utils": "1.3.6" + "web3-utils": "1.5.2" }, "dependencies": { "bn.js": { @@ -31938,79 +33583,77 @@ } }, "web3-eth-personal": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.3.6.tgz", - "integrity": "sha512-pOHU0+/h1RFRYoh1ehYBehRbcKWP4OSzd4F7mDljhHngv6W8ewMHrAN8O1ol9uysN2MuCdRE19qkRg5eNgvzFQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz", + "integrity": "sha512-nH5N2GiVC0C5XeMEKU16PeFP3Hb3hkPvlR6Tf9WQ+pE+jw1c8eaXBO1CJQLr15ikhUF3s94ICyHcfjzkDsmRbA==", "dev": true, "requires": { "@types/node": "^12.12.6", - "web3-core": "1.3.6", - "web3-core-helpers": "1.3.6", - "web3-core-method": "1.3.6", - "web3-net": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-helpers": "1.5.2", + "web3-core-method": "1.5.2", + "web3-net": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-net": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.3.6.tgz", - "integrity": "sha512-KhzU3wMQY/YYjyMiQzbaLPt2kut88Ncx2iqjy3nw28vRux3gVX0WOCk9EL/KVJBiAA/fK7VklTXvgy9dZnnipw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.2.tgz", + "integrity": "sha512-VEc9c+jfoERhbJIxnx0VPlQDot8Lm4JW/tOWFU+ekHgIiu2zFKj5YxhURIth7RAbsaRsqCb79aE+M0eI8maxVQ==", "dev": true, "requires": { - "web3-core": "1.3.6", - "web3-core-method": "1.3.6", - "web3-utils": "1.3.6" + "web3-core": "1.5.2", + "web3-core-method": "1.5.2", + "web3-utils": "1.5.2" } }, "web3-providers-http": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.3.6.tgz", - "integrity": "sha512-OQkT32O1A06dISIdazpGLveZcOXhEo5cEX6QyiSQkiPk/cjzDrXMw4SKZOGQbbS1+0Vjizm1Hrp7O8Vp2D1M5Q==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.2.tgz", + "integrity": "sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA==", "dev": true, "requires": { - "web3-core-helpers": "1.3.6", + "web3-core-helpers": "1.5.2", "xhr2-cookies": "1.1.0" } }, "web3-providers-ipc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.3.6.tgz", - "integrity": "sha512-+TVsSd2sSVvVgHG4s6FXwwYPPT91boKKcRuEFXqEfAbUC5t52XOgmyc2LNiD9LzPhed65FbV4LqICpeYGUvSwA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz", + "integrity": "sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ==", "dev": true, "requires": { "oboe": "2.1.5", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6" + "web3-core-helpers": "1.5.2" } }, "web3-providers-ws": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.3.6.tgz", - "integrity": "sha512-bk7MnJf5or0Re2zKyhR3L3CjGululLCHXx4vlbc/drnaTARUVvi559OI5uLytc/1k5HKUUyENAxLvetz2G1dnQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz", + "integrity": "sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA==", "dev": true, "requires": { "eventemitter3": "4.0.4", - "underscore": "1.12.1", - "web3-core-helpers": "1.3.6", + "web3-core-helpers": "1.5.2", "websocket": "^1.0.32" } }, "web3-shh": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.3.6.tgz", - "integrity": "sha512-9zRo415O0iBslxBnmu9OzYjNErzLnzOsy+IOvSpIreLYbbAw0XkDWxv3SfcpKnTIWIACBR4AYMIxmmyi5iB3jw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.2.tgz", + "integrity": "sha512-wOxOcYt4Sa0AHAI8gG7RulCwVuVjSRS/M/AbFsea3XfJdN6sU13/syY7OdZNjNYuKjYTzxKYrd3dU/K2iqffVw==", "dev": true, "requires": { - "web3-core": "1.3.6", - "web3-core-method": "1.3.6", - "web3-core-subscriptions": "1.3.6", - "web3-net": "1.3.6" + "web3-core": "1.5.2", + "web3-core-method": "1.5.2", + "web3-core-subscriptions": "1.5.2", + "web3-net": "1.5.2" } }, "web3-utils": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz", - "integrity": "sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz", + "integrity": "sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -32019,7 +33662,6 @@ "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", "randombytes": "^2.1.0", - "underscore": "1.12.1", "utf8": "3.0.0" }, "dependencies": { @@ -32061,23 +33703,6 @@ "@ethersproject/strings": "^5.0.4" } }, - "@truffle/error": { - "version": "0.0.14", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.0.14.tgz", - "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", - "dev": true - }, - "@truffle/interface-adapter": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.6.tgz", - "integrity": "sha512-c8+5iAYduWQVTLcv6P0DiIR/nvv3E92vzkyIeeXcfyS+rmrxpEnWwL4Fs63LGpmt5Th0Fo0w+nTa2Qz4sfDRWA==", - "dev": true, - "requires": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.5.2" - } - }, "@types/node": { "version": "12.20.26", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz", @@ -32091,9 +33716,9 @@ "dev": true }, "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "eth-lib": { @@ -32105,14 +33730,6 @@ "bn.js": "^4.11.6", "elliptic": "^6.4.0", "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } } }, "ethereumjs-util": { @@ -32137,66 +33754,19 @@ "requires": { "@types/node": "*" } - } - } - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - }, - "dependencies": { + }, "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true } } }, - "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" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true - }, "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, "web3": { @@ -32343,20 +33913,6 @@ "web3-core-helpers": "1.5.2", "web3-core-method": "1.5.2", "web3-utils": "1.5.2" - }, - "dependencies": { - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", - "dev": true - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - } } }, "web3-eth-contract": { @@ -32399,14 +33955,6 @@ "requires": { "bn.js": "^4.11.9", "web3-utils": "1.5.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } } }, "web3-eth-personal": { @@ -32490,14 +34038,6 @@ "number-to-bn": "1.7.0", "randombytes": "^2.1.0", "utf8": "3.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } } } } @@ -32522,14 +34062,6 @@ "strip-ansi": "^4.0.0", "strip-indent": "^2.0.0", "super-split": "^1.1.0" - }, - "dependencies": { - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "dev": true - } } }, "@types/abstract-leveldown": { @@ -35703,16 +37235,6 @@ } } }, - "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - } - }, "eslint-plugin-havven": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-havven/-/eslint-plugin-havven-1.1.0.tgz", @@ -35793,6 +37315,16 @@ "semver": "^6.1.0" }, "dependencies": { + "eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, "ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", @@ -40081,16 +41613,17 @@ } }, "highlight.js": { - "version": "9.18.5", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", - "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true }, "highlightjs-solidity": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-1.2.2.tgz", - "integrity": "sha512-+cZ+1+nAO5Pi6c70TKuMcPmwqLECxiYhnQc1MxdXckK94zyWFMNZADzu98ECNlf5xCRdNh+XKp+eklmRU+Dniw==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.0.tgz", + "integrity": "sha512-104Nitqem7ntqVR4FyF+a+whp7C15g5moC/K7eHWyet09+wjUVCWcSm2dcaVKOIPAHGiW8X7knq+ZGwkg3aq+A==", + "dev": true, + "optional": true }, "hmac-drbg": { "version": "1.0.1", @@ -42528,9 +44061,9 @@ } }, "node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-aD1fO+xtLiSCc9vuD+sYMxpIuQyhHscGSkBEo2o5LTV/3bTEAYvdUii29n8LlO5uLCmWdGP7uVUVXFo5SRdkLA==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", "dev": true, "requires": { "whatwg-url": "^5.0.0" @@ -46095,31 +47628,6 @@ } } }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "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 - } - } - }, "testrpc": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", @@ -46520,10 +48028,9 @@ } }, "underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", - "dev": true + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, "union-value": { "version": "1.0.1", @@ -47166,12 +48673,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-utils": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.3.tgz", @@ -47207,12 +48708,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.26.tgz", "integrity": "sha512-gIt+h4u2uTho2bsH1K250fUv5fHU71ET1yWT7bM4523zV/XrFb9jlWBOV4DO8FpscY+Sz/WEr1EEjIP2H4yumQ==", "dev": true - }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true } } }, @@ -47260,12 +48755,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -47306,11 +48795,9 @@ } }, "web3-core-helpers": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", + "version": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", - "dev": true, - "peer": true, + "extraneous": true, "requires": { "web3-eth-iban": "1.5.3", "web3-utils": "1.5.3" @@ -47320,15 +48807,13 @@ "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true + "extraneous": true }, "eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "peer": true, + "extraneous": true, "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -47339,8 +48824,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "peer": true, + "extraneous": true, "requires": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -47384,12 +48868,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -47439,11 +48917,9 @@ } }, "web3-core-promievent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", + "version": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", - "dev": true, - "peer": true, + "extraneous": true, "requires": { "eventemitter3": "4.0.4" } @@ -47479,12 +48955,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -47552,12 +49022,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -47652,12 +49116,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -47800,12 +49258,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", @@ -47902,12 +49354,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -48018,12 +49464,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -48087,8 +49527,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz", "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", - "dev": true, - "peer": true, + "extraneous": true, "requires": { "bn.js": "^4.11.9", "web3-utils": "1.5.3" @@ -48098,15 +49537,13 @@ "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true + "extraneous": true }, "eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "peer": true, + "extraneous": true, "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -48117,8 +49554,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "peer": true, + "extraneous": true, "requires": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -48168,12 +49604,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -48241,12 +49671,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-utils": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.3.tgz", @@ -48292,12 +49716,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -48365,12 +49783,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -48439,12 +49851,6 @@ "xhr-request-promise": "^0.1.2" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, "web3-core-helpers": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", @@ -48520,11 +49926,6 @@ "elliptic": "^6.4.0", "xhr-request-promise": "^0.1.2" } - }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" } } }, @@ -48686,6 +50087,29 @@ "to-regex": "^3.0.2" } }, + "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 + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", diff --git a/publish/deployed/kovan-ovm/config.json b/publish/deployed/kovan-ovm/config.json index 6e9aec31a6..98ecc66074 100644 --- a/publish/deployed/kovan-ovm/config.json +++ b/publish/deployed/kovan-ovm/config.json @@ -163,5 +163,17 @@ }, "EtherWrapper": { "deploy": false + }, + "CollateralShort": { + "deploy": false + }, + "CollateralUtil": { + "deploy": false + }, + "SynthRedeemer": { + "deploy": false + }, + "CollateralManagerState": { + "deploy": false } } diff --git a/publish/deployed/kovan-ovm/deployment.json b/publish/deployed/kovan-ovm/deployment.json index a640ccf408..c6f28e4de1 100644 --- a/publish/deployed/kovan-ovm/deployment.json +++ b/publish/deployed/kovan-ovm/deployment.json @@ -5,8 +5,8 @@ "address": "0x87A479D8433121E4583D45D37B4A349b4350B79F", "source": "SafeDecimalMath", "link": "https://kovan-explorer.optimism.io/address/0x87A479D8433121E4583D45D37B4A349b4350B79F", - "timestamp": "2021-01-14T17:20:16.769Z", - "txn": "", + "timestamp": "2021-01-14T15:51:40.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/GENESIS_87a479d8433121e4583d45d37b4a349b4350b79f", "network": "kovan" }, "Math": { @@ -14,8 +14,8 @@ "address": "0xEA83b3192a8aB126BaCC2CFB0443F3A61ABe2D60", "source": "Math", "link": "https://kovan-explorer.optimism.io/address/0xEA83b3192a8aB126BaCC2CFB0443F3A61ABe2D60", - "timestamp": "2021-01-14T17:20:18.144Z", - "txn": "", + "timestamp": "2021-01-14T15:51:40.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/GENESIS_ea83b3192a8ab126bacc2cfb0443f3a61abe2d60", "network": "kovan" }, "AddressResolver": { @@ -47,11 +47,11 @@ }, "SystemSettings": { "name": "SystemSettings", - "address": "0x177D78D74879Ff3B042FB0E3C3e6d32d10d9FCE1", + "address": "0xBF3EDB3810EabfFD350C8A1adc739Ef66A8cF2C8", "source": "SystemSettings", - "link": "https://kovan-explorer.optimism.io/address/0x177D78D74879Ff3B042FB0E3C3e6d32d10d9FCE1", - "timestamp": "2021-06-30T01:26:19.925Z", - "txn": "", + "link": "https://kovan-explorer.optimism.io/address/0xBF3EDB3810EabfFD350C8A1adc739Ef66A8cF2C8", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0x88256a5cc7711a8f1a530d5f431c8e34abca43521efa33196b1180b4e186b166", "network": "kovan" }, "SystemStatus": { @@ -236,11 +236,11 @@ }, "Exchanger": { "name": "Exchanger", - "address": "0x712890eb501C2E7bB2f80D94326FF7ecF67ca7E4", + "address": "0x58d6dF6bA7920560d2Ea89549c24e1dE0B0688eF", "source": "Exchanger", - "link": "https://kovan-explorer.optimism.io/address/0x712890eb501C2E7bB2f80D94326FF7ecF67ca7E4", - "timestamp": "2021-06-30T01:26:30.246Z", - "txn": "", + "link": "https://kovan-explorer.optimism.io/address/0x58d6dF6bA7920560d2Ea89549c24e1dE0B0688eF", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0xcbf262d1ddd2dca2b5ad43b34f6f1406086c55d859aab3e069006c290ba452e9", "network": "kovan" }, "ExchangeState": { @@ -254,11 +254,11 @@ }, "Issuer": { "name": "Issuer", - "address": "0xc9982C611C3bE471296144D215E518F2692D6982", + "address": "0x2A0fde259165Aafda287C63C504C74894A731444", "source": "IssuerWithoutLiquidations", - "link": "https://kovan-explorer.optimism.io/address/0xc9982C611C3bE471296144D215E518F2692D6982", - "timestamp": "2021-01-14T17:21:30.792Z", - "txn": "", + "link": "https://kovan-explorer.optimism.io/address/0x2A0fde259165Aafda287C63C504C74894A731444", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0x89103c106a918fa653ecb6597e501918bc8191e46518c9a1ec79d81619a43cc8", "network": "kovan" }, "TradingRewards": { @@ -308,11 +308,11 @@ }, "SynthsUSD": { "name": "SynthsUSD", - "address": "0x4305B0485aD00548a17473ada5b3bA8be98d283F", - "source": "Synth", - "link": "https://kovan-explorer.optimism.io/address/0x4305B0485aD00548a17473ada5b3bA8be98d283F", - "timestamp": "2021-01-14T17:21:51.031Z", - "txn": "", + "address": "0xD3b981E24e121713240fF6f40A69C795464fe53F", + "source": "MultiCollateralSynth", + "link": "https://kovan-explorer.optimism.io/address/0xD3b981E24e121713240fF6f40A69C795464fe53F", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0x39babd6bde525e93afc23feb5bcac5a9abe120b0dd050a7ab9594c533826cfbb", "network": "kovan" }, "EtherCollateral": { @@ -344,11 +344,11 @@ }, "CollateralManager": { "name": "CollateralManager", - "address": "0x212dD0505eDECA3947b07b86e0b0d44ba8eE81c4", - "source": "EmptyCollateralManager", - "link": "https://kovan-explorer.optimism.io/address/0x212dD0505eDECA3947b07b86e0b0d44ba8eE81c4", - "timestamp": "2021-01-14T17:22:00.542Z", - "txn": "", + "address": "0x0d413953280BFfa8103e672b91AaD28768FF6315", + "source": "CollateralManager", + "link": "https://kovan-explorer.optimism.io/address/0x0d413953280BFfa8103e672b91AaD28768FF6315", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0x2cbde5d53a90d392664029e05e1ec5c3ad9288799f59fed382e696f916ac063c", "network": "kovan" }, "SynthUtil": { @@ -389,10 +389,10 @@ }, "SynthsETH": { "name": "SynthsETH", - "address": "0x41B7BE5A411e73Baf5B2C82dCD1C110b0c177335", - "source": "Synth", - "link": "https://kovan-explorer.optimism.io/address/0x41B7BE5A411e73Baf5B2C82dCD1C110b0c177335", - "timestamp": "2021-03-03T17:36:10.081Z", + "address": "0x736B4cECa1Ae698b880b49344Ce955eC67f6343e", + "source": "MultiCollateralSynth", + "link": "https://kovan-explorer.optimism.io/address/0x736B4cECa1Ae698b880b49344Ce955eC67f6343e", + "timestamp": "2021-09-22T17:49:03.480Z", "txn": "", "network": "kovan" }, @@ -416,10 +416,10 @@ }, "SynthsBTC": { "name": "SynthsBTC", - "address": "0x082fbbaE20E472D1cEb9b51912d069C94A2b949b", - "source": "Synth", - "link": "https://kovan-explorer.optimism.io/address/0x082fbbaE20E472D1cEb9b51912d069C94A2b949b", - "timestamp": "2021-03-03T17:36:20.316Z", + "address": "0x98a3d02b03a4d7BEd69b77647e189a026721E9a6", + "source": "MultiCollateralSynth", + "link": "https://kovan-explorer.optimism.io/address/0x98a3d02b03a4d7BEd69b77647e189a026721E9a6", + "timestamp": "2021-09-22T17:49:06.935Z", "txn": "", "network": "kovan" }, @@ -443,10 +443,10 @@ }, "SynthsLINK": { "name": "SynthsLINK", - "address": "0x25D0b662813D959cD0D03533Df4Da051765743AC", - "source": "Synth", - "link": "https://kovan-explorer.optimism.io/address/0x25D0b662813D959cD0D03533Df4Da051765743AC", - "timestamp": "2021-03-03T17:43:08.085Z", + "address": "0x9F725c12b7CeB106db565EA9ca3f639DB107B2F9", + "source": "MultiCollateralSynth", + "link": "https://kovan-explorer.optimism.io/address/0x9F725c12b7CeB106db565EA9ca3f639DB107B2F9", + "timestamp": "2021-09-22T17:49:10.080Z", "txn": "", "network": "kovan" }, @@ -470,10 +470,10 @@ }, "SynthsUNI": { "name": "SynthsUNI", - "address": "0xa5D3600FF0fb98925f926f6E7C4DeEAb3ed8D004", - "source": "Synth", - "link": "https://kovan-explorer.optimism.io/address/0xa5D3600FF0fb98925f926f6E7C4DeEAb3ed8D004", - "timestamp": "2021-03-26T14:25:59.008Z", + "address": "0x4d02d6540C789dF4464f4Bc6D8f0AA87a05a8F2b", + "source": "MultiCollateralSynth", + "link": "https://kovan-explorer.optimism.io/address/0x4d02d6540C789dF4464f4Bc6D8f0AA87a05a8F2b", + "timestamp": "2021-09-22T17:49:13.357Z", "txn": "", "network": "kovan" }, @@ -497,10 +497,10 @@ }, "SynthsAAVE": { "name": "SynthsAAVE", - "address": "0x5D5D431159Ca065846DC38aeA5d146A541a8Ec27", - "source": "Synth", - "link": "https://kovan-explorer.optimism.io/address/0x5D5D431159Ca065846DC38aeA5d146A541a8Ec27", - "timestamp": "2021-03-26T14:26:08.405Z", + "address": "0x2D77f2AFBa97C7b69d339294fb53dae8E6d99063", + "source": "MultiCollateralSynth", + "link": "https://kovan-explorer.optimism.io/address/0x2D77f2AFBa97C7b69d339294fb53dae8E6d99063", + "timestamp": "2021-09-22T17:49:16.740Z", "txn": "", "network": "kovan" }, @@ -512,6 +512,42 @@ "timestamp": "2021-06-30T01:26:31.918Z", "txn": "", "network": "kovan" + }, + "SynthRedeemer": { + "name": "SynthRedeemer", + "address": "0x1f52fc46f0dFE4AA10F202d675035F5e6CD327D6", + "source": "SynthRedeemer", + "link": "https://kovan-explorer.optimism.io/address/0x1f52fc46f0dFE4AA10F202d675035F5e6CD327D6", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0xcb3508681baac70e332665e4b52903464dd95b9105c02440d1b837e4606199ef", + "network": "kovan" + }, + "CollateralUtil": { + "name": "CollateralUtil", + "address": "0xA0404c89D75Fe5C98d38bAf28C0E1beb536DCc25", + "source": "CollateralUtil", + "link": "https://kovan-explorer.optimism.io/address/0xA0404c89D75Fe5C98d38bAf28C0E1beb536DCc25", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0x6feb4d865989aa23cd977ef7fc1ac6b1190951ab18283485217a7492de2604e5", + "network": "kovan" + }, + "CollateralManagerState": { + "name": "CollateralManagerState", + "address": "0xC09CD84A42B6B3ef56C1615591207F9C8b0cE462", + "source": "CollateralManagerState", + "link": "https://kovan-explorer.optimism.io/address/0xC09CD84A42B6B3ef56C1615591207F9C8b0cE462", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0x72bdab5a26e01746deca0d06ed2bd861d1ed3bd30438cd921d3813061ed3eacb", + "network": "kovan" + }, + "CollateralShort": { + "name": "CollateralShort", + "address": "0xa2e1aD41D7603d57Fd8055b892dAFfa49e35d9d1", + "source": "CollateralShort", + "link": "https://kovan-explorer.optimism.io/address/0xa2e1aD41D7603d57Fd8055b892dAFfa49e35d9d1", + "timestamp": "2021-09-22T17:45:08.000Z", + "txn": "https://kovan-explorer.optimism.io/tx/0x5971a1edf5e2407b7bb56ec49ddaa4c5fb93d19987f4df0a3fc06723c005d812", + "network": "kovan" } }, "sources": { @@ -2247,7 +2283,7 @@ } }, "SystemSettings": { - "bytecode": "60806040523480156200001c57600080620000196200018a565b50505b506040516200403f3803806200403f833981810160405260408110156200004d576000806200004a6200018a565b50505b81019080805192919060200180519250829150819050836001600160a01b038116620000ca5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c76200018a565b50505b806000600181620000da620001f7565b816001600160a01b0302191690836001600160a01b0316021790620000fe62000259565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15080600260018162000159620001f7565b816001600160a01b0302191690836001600160a01b03160217906200017d62000259565b50505050505050620002a8565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c4578086015182820160400152602001620001a7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000254576000828201526020016200023b565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023b565b613d8780620002b86000396000f3fe608060405234801561001957600080610016613878565b50505b50600436106103a25760003560e01c806379ba5097116101f2578063b2ea705411610118578063dafd2daf116100b6578063e942204611610085578063e942204614610932578063f1076b2514610958578063f344da6714610960578063fb1b4c7e14610968576103a2565b8063dafd2daf146106c1578063dc8f4a1b146108d5578063e0e6393d14610904578063e7894da11461090c576103a2565b8063c193f0d8116100f2578063c193f0d81461089f578063c58c9ae4146108a7578063cc754a4c146108af578063d62ae39914610877576103a2565b8063b2ea7054146106c1578063b410a0341461088f578063bcf7eeac14610897576103a2565b8063922fef0811610190578063a4ce5b711161015f578063a4ce5b711461086f578063add0989d14610877578063af5355d81461087f578063af8bc66014610887576103a2565b8063922fef0814610813578063946ce8cd1461081b578063967706e914610841578063a0cf745114610867576103a2565b80637ce2cc7f116101cc5780637ce2cc7f146107a057806389257117146107a8578063899ffef4146107b05780638da5cb5b1461080b576103a2565b806379ba50971461074357806379cb657a1461074b5780637bf8230514610771576103a2565b806328a1170d116102d7578063580a975c11610275578063635a387211610244578063635a3872146106ef578063657c6dc7146106c1578063741853601461071557806375aca3211461071d576103a2565b8063580a975c146106935780635e0117d61461069b5780636022aac5146106c15780636190dd7a146106c9576103a2565b8063372a395a116102b1578063372a395a146106535780634641ab661461065b5780634c36b8371461068357806353a47bb71461068b576103a2565b806328a1170d146105105780632af64bd3146106115780632cce0e541461062d576103a2565b80631627540c1161034457806322425fa41161031e57806322425fa4146104d257806323f5589a146104da578063242df9e1146104e25780632806a743146104ea576103a2565b80631627540c146104755780631775765f146104a45780631e6e2190146104ac576103a2565b8063054be0b711610380578063054be0b714610437578063085f95cd1461045d5780630ee4951b146104655780630f27b7881461046d576103a2565b8063038e47fe146103b057806304c49f2c146103eb57806304f3bcec14610413575b6000806103ad613878565b50505b6103d9600480360360208110156103cf576000806103cc613878565b50505b503560ff16610970565b60405190815260200160405180910390f35b6104116004803603602081101561040a57600080610407613878565b50505b5035610983565b005b61041b610b40565b6040516001600160a01b03909116815260200160405180910390f35b6104116004803603602081101561045657600080610453613878565b50505b5035610b5f565b6103d9610ca8565b6103d9610cb4565b6103d9610cc4565b6104116004803603602081101561049457600080610491613878565b50505b50356001600160a01b0316610cce565b6103d9610d48565b610411600480360360208110156104cb576000806104c8613878565b50505b5035610d52565b6103d9610e5b565b6103d9610e65565b6103d9610e6f565b6104116004803603602081101561050957600080610506613878565b50505b5035610e79565b6104116004803603604081101561052f5760008061052c613878565b50505b81019060208101813564010000000081111561055357600080610550613878565b50505b82018360208201111561056e5760008061056b613878565b50505b8035906020019184602083028401116401000000008311171561059957600080610596613878565b50505b9193909290916020810190356401000000008111156105c0576000806105bd613878565b50505b8201836020820111156105db576000806105d8613878565b50505b8035906020019184602083028401116401000000008311171561060657600080610603613878565b50505b509092509050610fc7565b610619611229565b604051901515815260200160405180910390f35b6104116004803603602081101561064c57600080610649613878565b50505b50356113b8565b6103d96115d2565b6104116004803603602081101561067a57600080610677613878565b50505b503515156115dc565b61041b6116e1565b61041b6116eb565b6103d96116f7565b610411600480360360208110156106ba576000806106b7613878565b50505b50356116fe565b6103d96118ba565b610411600480360360208110156106e8576000806106e5613878565b50505b50356118c6565b6104116004803603602081101561070e5760008061070b613878565b50505b50356119c7565b610411611ac4565b6104116004803603602081101561073c57600080610739613878565b50505b5035611cf7565b610411611e4a565b6104116004803603602081101561076a57600080610767613878565b50505b5035611fcd565b610411600480360360208110156107905760008061078d613878565b50505b50356001600160a01b03166120c8565b6103d9612240565b6103d9612247565b6107b8612251565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156107f75780820151838201526020016107df565b505050509050019250505060405180910390f35b61041b6122b0565b6103d96122bb565b6104116004803603602081101561083a57600080610837613878565b50505b50356122c5565b6103d9600480360360208110156108605760008061085d613878565b50505b503561254b565b6103d9612556565b6103d9612560565b6103d961256c565b6103d9612573565b6103d961257d565b6103d9612582565b6103d961258c565b610619612596565b6103d96125a0565b610411600480360360208110156108ce576000806108cb613878565b50505b50356125a7565b610411600480360360408110156108f4576000806108f1613878565b50505b5060ff81351690602001356126a5565b6103d9612820565b6104116004803603602081101561092b57600080610928613878565b50505b503561282a565b610411600480360360208110156109515760008061094e613878565b50505b503561297d565b6103d9612ad9565b6103d9612ae0565b6103d9612ae7565b600061097b82612af3565b90505b919050565b61098b612bc6565b620151808110156109eb5760405162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e006044820152606401604051809103906109e8613878565b50505b624f1a00811115610a4b5760405162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015260640160405180910390610a48613878565b50505b610a53612c40565b6001600160a01b0316631d5b277f600080516020613d0c833981519152703332b2a832b934b7b2223ab930ba34b7b760791b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610ac76138e3565b158015610adc57600080610ad9613878565b50505b505a610ae661393e565b505050505050158015610b06573d6000803e3d6000610b03613878565b50505b505050507f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd8160405190815260200160405180910390a150565b60006002610b4c613a29565b906101000a90046001600160a01b031681565b610b67612bc6565b670de0b6b3a7640000811115610bb75760405162461bcd60e51b8152600401808060200182810382526033815260200180613d2c6033913960400191505060405180910390610bb4613878565b50505b610bbf612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191526c69737375616e6365526174696f60981b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610c2f6138e3565b158015610c4457600080610c41613878565b50505b505a610c4e61393e565b505050505050158015610c6e573d6000803e3d6000610c6b613878565b50505b505050507f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854528160405190815260200160405180910390a150565b6703782dace9d9000081565b6000610cbe612c5d565b90505b90565b6000610cbe612d39565b610cd6612bc6565b8060018080610ce3613a29565b816001600160a01b0302191690836001600160a01b0316021790610d05613a75565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000610cbe612db2565b610d5a612bc6565b610d62612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610de26138e3565b158015610df757600080610df4613878565b50505b505a610e0161393e565b505050505050158015610e21573d6000803e3d6000610e1e613878565b50505b505050507f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e58160405190815260200160405180910390a150565b6000610cbe612e24565b6000610cbe612e97565b6000610cbe612f0b565b610e81612bc6565b6703782dace9d90000811115610ed15760405162461bcd60e51b8152600401808060200182810382526021815260200180613be26021913960400191505060405180910390610ece613878565b50505b610ed9612c40565b6001600160a01b0316631d5b277f600080516020613d0c833981519152716c69717569646174696f6e50656e616c747960701b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610f4e6138e3565b158015610f6357600080610f60613878565b50505b505a610f6d61393e565b505050505050158015610f8d573d6000803e3d6000610f8a613878565b50505b505050507fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e98160405190815260200160405180910390a150565b610fcf612bc6565b82811461102b5760405162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015260640160405180910390611028613878565b50505b60005b838110156112225767016345785d8a000083838381811061104b57fe5b9050602002013511156110ad5760405162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f5241544520657863656564656400006044820152606401604051809103906110aa613878565b50505b6110b5612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191526e65786368616e67654665655261746560881b8888868181106110f157fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012086868681811061113157fe5b905060200201356040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806111796138e3565b15801561118e5760008061118b613878565b50505b505a61119861393e565b5050505050501580156111b8573d6000803e3d60006111b5613878565b50505b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e8585838181106111e957fe5b905060200201358484848181106111fc57fe5b9050602002013560405191825260208201526040908101905180910390a160010161102e565b5050505050565b60006060611235612251565b905060005b81518110156113af57600082828151811061125157fe5b60200260200101516000818152600360205290915060409020600090611275613a29565b6001600160a01b036101009290920a90041660006002611293613a29565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806112e46138e3565b1580156112f9576000806112f6613878565b50505b505a611303613ac3565b5050505050158015611322573d6000803e3d600061131f613878565b50505b505050506040513d60208110156113415760008061133e613878565b50505b8101908080516001600160a01b03169390931415925082915061139590505750600081815260036020526040812060009061137a613a29565b906101000a90046001600160a01b03166001600160a01b0316145b156113a65760009350505050610cc1565b5060010161123a565b50600191505090565b6113c0612bc6565b60328111156114135760405162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015260640160405180910390611410613878565b50505b60006114dc60646114d073__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b8152600401602060405180830381868061145c6138e3565b1580156114715760008061146e613878565b50505b505a61147b613b8a565b505050505015801561149a573d6000803e3d6000611497613878565b50505b505050506040513d60208110156114b9576000806114b6613878565b50505b81019080805188935091505063ffffffff612f7d16565b9063ffffffff612fe816565b90506114e6612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806115586138e3565b15801561156d5760008061156a613878565b50505b505a61157761393e565b505050505050158015611597573d6000803e3d6000611594613878565b50505b505050507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab128160405190815260200160405180910390a15050565b6000610cbe61305a565b6115e4612bc6565b6115ec612c40565b6001600160a01b0316633f28a6fc600080516020613d0c833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b846040516001600160e01b031960e086901b1681526004810193909352602483019190915215156044820152606401600060405180830381600087806116666138e3565b15801561167b57600080611678613878565b50505b505a61168561393e565b5050505050501580156116a5573d6000803e3d60006116a2613878565b50505b505050507fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd81604051901515815260200160405180910390a150565b6000610cbe6130d9565b60006001610b4c613a29565b62093a8081565b611706612bc6565b62278d008111156117665760405162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015260640160405180910390611763613878565b50505b620151808110156117c65760405162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e2031206461790000000000006044820152606401604051809103906117c3613878565b50505b6117ce612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191526f6c69717569646174696f6e44656c617960801b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806118416138e3565b15801561185657600080611853613878565b50505b505a61186061393e565b505050505050158015611880573d6000803e3d600061187d613878565b50505b505050507f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53988160405190815260200160405180910390a150565b670de0b6b3a764000081565b6118ce612bc6565b6118d6612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191527464656274536e617073686f745374616c6554696d6560581b846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061194e6138e3565b15801561196357600080611960613878565b50505b505a61196d61393e565b50505050505015801561198d573d6000803e3d600061198a613878565b50505b505050507f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d78160405190815260200160405180910390a150565b6119cf612bc6565b6119d7612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191527077616974696e67506572696f645365637360781b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611a4b6138e3565b158015611a6057600080611a5d613878565b50505b505a611a6a61393e565b505050505050158015611a8a573d6000803e3d6000611a87613878565b50505b505050507fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f88160405190815260200160405180910390a150565b6060611ace612251565b905060005b8151811015611cf3576000828281518110611aea57fe5b602002602001015190506000806002611b01613a29565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611bb6578082015183820152602001611b9e565b50505050905090810190601f168015611be35780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818680611bfc6138e3565b158015611c1157600080611c0e613878565b50505b505a611c1b613ac3565b5050505050158015611c3a573d6000803e3d6000611c37613878565b50505b505050506040513d6020811015611c5957600080611c56613878565b50505b8101908080516000868152600360205290945084935060409250905020600181611c81613a29565b816001600160a01b0302191690836001600160a01b0316021790611ca3613a75565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101611ad3565b5050565b611cff612bc6565b670de0b6b3a7640000811115611d4f5760405162461bcd60e51b8152600401808060200182810382526026815260200180613c9f6026913960400191505060405180910390611d4c613878565b50505b611d57612c40565b6001600160a01b0316631d5b277f600080516020613d0c833981519152766574686572577261707065724d696e744665655261746560481b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611dd16138e3565b158015611de657600080611de3613878565b50505b505a611df061393e565b505050505050158015611e10573d6000803e3d6000611e0d613878565b50505b505050507f19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b8160405190815260200160405180910390a150565b60006001611e56613a29565b906101000a90046001600160a01b03166001600160a01b03165a611e78613b9b565b6001600160a01b031614611ec65760405162461bcd60e51b8152600401808060200182810382526035815260200180613c036035913960400191505060405180910390611ec3613878565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611ef2613a29565b906101000a90046001600160a01b03166001600090611f0f613a29565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611f4e613a29565b906101000a90046001600160a01b03166000806101000a81611f6e613a29565b816001600160a01b0302191690836001600160a01b0316021790611f90613a75565b5050506000600160006101000a81611fa6613a29565b816001600160a01b0302191690836001600160a01b0316021790611fc8613a75565b505050565b611fd5612bc6565b611fdd612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061204f6138e3565b15801561206457600080612061613878565b50505b505a61206e61393e565b50505050505015801561208e573d6000803e3d600061208b613878565b50505b505050507f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e668160405190815260200160405180910390a150565b6120d0612bc6565b6001600160a01b0381166121335760405162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015260640160405180910390612130613878565b50505b61213b612c40565b6001600160a01b0316634dca0978600080516020613d0c8339815191527561676772656761746f725761726e696e67466c61677360501b846040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b03166044820152606401600060405180830381600087806121bd6138e3565b1580156121d2576000806121cf613878565b50505b505a6121dc61393e565b5050505050501580156121fc573d6000803e3d60006121f9613878565b50505b505050507f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965816040516001600160a01b03909116815260200160405180910390a150565b622dc6c081565b6000610cbe613151565b6060600160405190808252806020026020018201604052801561227e578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b816000815181106122a157fe5b60200260200101818152505090565b600080610b4c613a29565b6000610cbe6131c4565b6122cd612bc6565b6123a361238e6122db612e97565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b8152600401602060405180830381868061231a6138e3565b15801561232f5760008061232c613878565b50505b505a612339613b8a565b5050505050158015612358573d6000803e3d6000612355613878565b50505b505050506040513d602081101561237757600080612374613878565b50505b8101908080519392505063ffffffff61323d169050565b670de0b6b3a76400009063ffffffff61329c16565b8111156123ea5760405162461bcd60e51b8152600401808060200182810382526038815260200180613c3860389139604001915050604051809103906123e7613878565b50505b600061240c671bc16d674ec800006124006132ba565b9063ffffffff61332916565b9050808210156124565760405162461bcd60e51b8152600401808060200182810382526028815260200180613d5f6028913960400191505060405180910390612453613878565b50505b61245e612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191526f6c69717569646174696f6e526174696f60801b856040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806124d16138e3565b1580156124e6576000806124e3613878565b50505b505a6124f061393e565b505050505050158015612510573d6000803e3d600061250d613878565b50505b505050507f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a8260405190815260200160405180910390a15050565b600061097b82613353565b6000610cbe6133f2565b671bc16d674ec8000081565b6201518081565b6000610cbe613464565b603281565b6000610cbe6132ba565b6000610cbe6134db565b6000610cbe61354f565b627a120081565b6125af612bc6565b6125b7612c40565b6001600160a01b0316631d5b277f600080516020613d0c833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061262c6138e3565b1580156126415760008061263e613878565b50505b505a61264b61393e565b50505050505015801561266b573d6000803e3d6000612668613878565b50505b505050507f8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc688160405190815260200160405180910390a150565b6126ad612bc6565b622dc6c081101580156126c35750627a12008111155b61271c5760405162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015260640160405180910390612719613878565b50505b612724612c40565b6001600160a01b0316631d5b277f600080516020613d0c83398151915261274a856135c6565b846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061278c6138e3565b1580156127a15760008061279e613878565b50505b505a6127ab61393e565b5050505050501580156127cb573d6000803e3d60006127c8613878565b50505b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600381111561280257fe5b60ff1681526020018281526020019250505060405180910390a15050565b6000610cbe613705565b612832612bc6565b670de0b6b3a76400008111156128825760405162461bcd60e51b8152600401808060200182810382526026815260200180613ce6602691396040019150506040518091039061287f613878565b50505b61288a612c40565b6001600160a01b0316631d5b277f600080516020613d0c833981519152766574686572577261707065724275726e4665655261746560481b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806129046138e3565b15801561291957600080612916613878565b50505b505a61292361393e565b505050505050158015612943573d6000803e3d6000612940613878565b50505b505050507f1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a8160405190815260200160405180910390a150565b612985612bc6565b62093a808111156129e55760405162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b6044820152606401604051809103906129e2613878565b50505b6129ed612c40565b6001600160a01b0316631d5b277f600080516020613d0c8339815191526f6d696e696d756d5374616b6554696d6560801b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780612a606138e3565b158015612a7557600080612a72613878565b50505b505a612a7f61393e565b505050505050158015612a9f573d6000803e3d6000612a9c613878565b50505b505050507f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144778160405190815260200160405180910390a150565b62278d0081565b624f1a0081565b67016345785d8a000081565b6000612afd612c40565b6001600160a01b03166323257c2b600080516020613d0c833981519152612b23856135c6565b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612b5a6138e3565b158015612b6f57600080612b6c613878565b50505b505a612b79613ac3565b5050505050158015612b98573d6000803e3d6000612b95613878565b50505b505050506040513d6020811015612bb757600080612bb4613878565b50505b81019080805195945050505050565b600080612bd1613a29565b906101000a90046001600160a01b03166001600160a01b03165a612bf3613b9b565b6001600160a01b031614612c3e5760405162461bcd60e51b815260040180806020018281038252602f815260200180613c70602f913960400191505060405180910390611cf3613878565b565b6000610cbe6e466c657869626c6553746f7261676560881b613776565b6000612c67612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b158015612ce357600080612ce0613878565b50505b505a612ced613ac3565b5050505050158015612d0c573d6000803e3d6000612d09613878565b50505b505050506040513d6020811015612d2b57600080612d28613878565b50505b810190808051935050505090565b6000612d43612c40565b6001600160a01b03166323257c2b600080516020613d0c833981519152766574686572577261707065724d696e744665655261746560481b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b6000612dbc612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191526f6c69717569646174696f6e526174696f60801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b6000612e2e612c40565b6001600160a01b03166323257c2b600080516020613d0c833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b6000612ea1612c40565b6001600160a01b03166323257c2b600080516020613d0c833981519152716c69717569646174696f6e50656e616c747960701b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b6000612f15612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191526f6d696e696d756d5374616b6554696d6560801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b600082612f8c57506000612fe2565b82820282848281612f9957fe5b0414612fdf5760405162461bcd60e51b8152600401808060200182810382526021815260200180613cc56021913960400191505060405180910390612fdc613878565b50505b90505b92915050565b60008082116130465760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390613043613878565b50505b600082848161305157fe5b04949350505050565b6000613064612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b60006130e3612c40565b6001600160a01b0316639ee5955a600080516020613d0c8339815191527561676772656761746f725761726e696e67466c61677360501b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b600061315b612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191527077616974696e67506572696f645365637360781b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b60006131ce612c40565b6001600160a01b03166323257c2b600080516020613d0c833981519152766574686572577261707065724275726e4665655261746560481b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b600082820183811015612fdf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390612fdc613878565b6000612fdf826114d085670de0b6b3a764000063ffffffff612f7d16565b60006132c4612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191526c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b6000670de0b6b3a7640000613344848463ffffffff612f7d16565b8161334b57fe5b049392505050565b600061335d612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612b5a6138e3565b60006133fc612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191526f6c69717569646174696f6e44656c617960801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b600061346e612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191527464656274536e617073686f745374616c6554696d6560581b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b60006134e5612c40565b6001600160a01b03166323257c2b600080516020613d0c833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b6000613559612c40565b6001600160a01b031663d994502d600080516020613d0c833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b6000808260038111156135d557fe5b141561360257507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061097e565b600182600381111561361057fe5b141561363d57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061097e565b600282600381111561364b57fe5b141561367857507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061097e565b600382600381111561368657fe5b14156136b357507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061097e565b60405162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b6044820152606401604051809103906136fe613878565b5050919050565b600061370f612c40565b6001600160a01b03166323257c2b600080516020613d0c8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612cce6138e3565b600081815260036020528060408120600090613790613a29565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906138715760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561382d578082015183820152602001613815565b50505050905090810190601f16801561385a5780820380516001836020036101000a031916815260200191505b50925050506040518091039061386e613878565b50505b5092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156138b0578086015182820160400152602001613895565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015611fc857600082820152602001613927565b6385979f76598160e01b815261396f565b8080831115612fe2575090919050565b8080831015612fe2575090919050565b836004820152846024820152606060448201528760648201526084810160005b898110156139a757808901518282015260200161398f565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596139fc8e3d61395f565b8d01613a08818761394f565b5b82811015613a1d5760008152602001613a09565b50929d50505050505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613927565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020613927565b638540661f598160e01b81525b836004820152846024820152606060448201528660648201526084810160005b88811015613b08578088015182820152602001613af0565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059613b5d8d3d61395f565b8c01613b69818761394f565b5b82811015613b7e5760008152602001613b6a565b50929c50505050505050565b63ffe73914598160e01b8152613ad0565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061392756fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e72617465203e204d41585f45544845525f575241505045525f4d494e545f4645455f52415445536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7772617465203e204d41585f45544845525f575241505045525f4255524e5f4645455f5241544553797374656d53657474696e67730000000000000000000000000000000000004e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f", + "bytecode": "60806040523480156200001c57600080620000196200018a565b50505b506040516200510e3803806200510e833981810160405260408110156200004d576000806200004a6200018a565b50505b81019080805192919060200180519250829150819050836001600160a01b038116620000ca5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c76200018a565b50505b806000600181620000da620001f7565b816001600160a01b0302191690836001600160a01b0316021790620000fe62000259565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15080600260018162000159620001f7565b816001600160a01b0302191690836001600160a01b03160217906200017d62000259565b50505050505050620002a8565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c4578086015182820160400152602001620001a7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000254576000828201526020016200023b565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023b565b614e5680620002b86000396000f3fe608060405234801561001957600080610016614947565b50505b50600436106104265760003560e01c806379cb657a11610234578063b410a03411610139578063dafd2daf116100c1578063e7894da111610090578063e7894da114610bec578063e942204614610c12578063f1076b2514610c38578063f344da6714610c40578063fb1b4c7e14610c4857610426565b8063dafd2daf14610807578063dc8f4a1b14610b86578063e0e6393d14610bb5578063e642136c14610bbd57610426565b8063c58c9ae411610108578063c58c9ae414610af4578063c7b481bd14610afc578063c8c07fcb14610b31578063cc754a4c14610b60578063d62ae39914610a8d57610426565b8063b410a03414610aa5578063bcf7eeac14610aad578063c193f0d814610ab5578063c1e428d714610abd57610426565b8063967706e9116101bc578063a9673abc1161018b578063a9673abc14610a56578063add0989d14610a8d578063af5355d814610a95578063af8bc66014610a9d578063b2ea70541461080757610426565b8063967706e9146109eb5780639ce3537b14610a11578063a0cf745114610a46578063a4ce5b7114610a4e57610426565b806389257117116102035780638925711714610952578063899ffef41461095a5780638da5cb5b146109b5578063922fef08146109bd578063946ce8cd146109c557610426565b806379cb657a146108c05780637bf82305146108e65780637ce2cc7f146109155780638326470c1461091d57610426565b80632cce0e541161033a5780635e0117d6116102c2578063635a387211610291578063635a387214610864578063657c6dc714610807578063741853601461088a57806375aca3211461089257806379ba5097146108b857610426565b80635e0117d6146107e15780636022aac5146108075780636190dd7a1461080f5780636229350c1461083557610426565b80634c36b837116103095780634c36b8371461076b5780635387b2bc1461077357806353a47bb7146107a2578063580a975c146107aa5780635d467d6a146107b257610426565b80632cce0e54146106e0578063372a395a1461070657806343f446cd1461070e5780634641ab661461074357610426565b80631627540c116103bd57806323f5589a1161038c57806323f5589a1461058d578063242df9e1146105955780632806a7431461059d57806328a1170d146105c35780632af64bd3146106c457610426565b80631627540c146105285780631775765f146105575780631e6e21901461055f57806322425fa41461058557610426565b8063085f95cd116103f9578063085f95cd146104e157806309e514a4146104e95780630ee4951b146105185780630f27b7881461052057610426565b8063038e47fe1461043457806304c49f2c1461046f57806304f3bcec14610497578063054be0b7146104bb575b600080610431614947565b50505b61045d6004803603602081101561045357600080610450614947565b50505b503560ff16610c50565b60405190815260200160405180910390f35b6104956004803603602081101561048e5760008061048b614947565b50505b5035610c63565b005b61049f610e20565b6040516001600160a01b03909116815260200160405180910390f35b610495600480360360208110156104da576000806104d7614947565b50505b5035610e3f565b61045d610f88565b61045d6004803603602081101561050857600080610505614947565b50505b50356001600160a01b0316610f94565b61045d610f9f565b61045d610faf565b6104956004803603602081101561054757600080610544614947565b50505b50356001600160a01b0316610fb9565b61045d611033565b6104956004803603602081101561057e5760008061057b614947565b50505b503561103d565b61045d611146565b61045d611150565b61045d61115a565b610495600480360360208110156105bc576000806105b9614947565b50505b5035611164565b610495600480360360408110156105e2576000806105df614947565b50505b81019060208101813564010000000081111561060657600080610603614947565b50505b8201836020820111156106215760008061061e614947565b50505b8035906020019184602083028401116401000000008311171561064c57600080610649614947565b50505b91939092909160208101903564010000000081111561067357600080610670614947565b50505b82018360208201111561068e5760008061068b614947565b50505b803590602001918460208302840111640100000000831117156106b9576000806106b6614947565b50505b5090925090506112b2565b6106cc611514565b604051901515815260200160405180910390f35b610495600480360360208110156106ff576000806106fc614947565b50505b50356116a3565b61045d6118bd565b6104956004803603604081101561072d5760008061072a614947565b50505b506001600160a01b0381351690602001356118c7565b610495600480360360208110156107625760008061075f614947565b50505b50351515611afc565b61049f611c01565b61045d600480360360208110156107925760008061078f614947565b50505b50356001600160a01b0316611c0b565b61049f611c16565b61045d611c22565b61045d600480360360208110156107d1576000806107ce614947565b50505b50356001600160a01b0316611c29565b61049560048036036020811015610800576000806107fd614947565b50505b5035611c34565b61045d611df0565b6104956004803603602081101561082e5760008061082b614947565b50505b5035611dfc565b61049f6004803603602081101561085457600080610851614947565b50505b50356001600160a01b0316611efd565b6104956004803603602081101561088357600080610880614947565b50505b5035611f08565b610495612005565b610495600480360360208110156108b1576000806108ae614947565b50505b5035612238565b61049561238b565b610495600480360360208110156108df576000806108dc614947565b50505b503561250e565b6104956004803603602081101561090557600080610902614947565b50505b50356001600160a01b0316612609565b61045d612781565b6104956004803603604081101561093c57600080610939614947565b50505b506001600160a01b038135169060200135612788565b61045d6128c7565b6109626128d1565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156109a1578082015183820152602001610989565b505050509050019250505060405180910390f35b61049f612930565b61045d61293b565b610495600480360360208110156109e4576000806109e1614947565b50505b5035612945565b61045d60048036036020811015610a0a57600080610a07614947565b50505b5035612bcb565b61049560048036036040811015610a3057600080610a2d614947565b50505b506001600160a01b038135169060200135612bd6565b61045d612d12565b61045d612d1c565b61049560048036036040811015610a7557600080610a72614947565b50505b506001600160a01b0381351690602001351515612d28565b61045d612e68565b61045d612e6f565b61045d612e79565b61045d612e7e565b61045d612e88565b6106cc612e92565b61049560048036036040811015610adc57600080610ad9614947565b50505b506001600160a01b0381358116916020013516612e9c565b61045d612ff3565b61049560048036036040811015610b1b57600080610b18614947565b50505b506001600160a01b038135169060200135612ffa565b6106cc60048036036020811015610b5057600080610b4d614947565b50505b50356001600160a01b031661322e565b61049560048036036020811015610b7f57600080610b7c614947565b50505b5035613239565b61049560048036036040811015610ba557600080610ba2614947565b50505b5060ff8135169060200135613337565b61045d6134b2565b61045d60048036036020811015610bdc57600080610bd9614947565b50505b50356001600160a01b03166134bc565b61049560048036036020811015610c0b57600080610c08614947565b50505b50356134c7565b61049560048036036020811015610c3157600080610c2e614947565b50505b503561361a565b61045d613776565b61045d61377d565b61045d613784565b6000610c5b82613790565b90505b919050565b610c6b613863565b62015180811015610ccb5760405162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015260640160405180910390610cc8614947565b50505b624f1a00811115610d2b5760405162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015260640160405180910390610d28614947565b50505b610d336138dd565b6001600160a01b0316631d5b277f600080516020614ddb833981519152703332b2a832b934b7b2223ab930ba34b7b760791b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610da76149b2565b158015610dbc57600080610db9614947565b50505b505a610dc6614a0d565b505050505050158015610de6573d6000803e3d6000610de3614947565b50505b505050507f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd8160405190815260200160405180910390a150565b60006002610e2c614af8565b906101000a90046001600160a01b031681565b610e47613863565b670de0b6b3a7640000811115610e975760405162461bcd60e51b8152600401808060200182810382526033815260200180614dfb6033913960400191505060405180910390610e94614947565b50505b610e9f6138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526c69737375616e6365526174696f60981b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610f0f6149b2565b158015610f2457600080610f21614947565b50505b505a610f2e614a0d565b505050505050158015610f4e573d6000803e3d6000610f4b614947565b50505b505050507f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854528160405190815260200160405180910390a150565b6703782dace9d9000081565b6000610c5b826138fa565b6000610fa96139af565b90505b90565b6000610fa9613a8b565b610fc1613863565b8060018080610fce614af8565b816001600160a01b0302191690836001600160a01b0316021790610ff0614b44565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000610fa9613b04565b611045613863565b61104d6138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806110cd6149b2565b1580156110e2576000806110df614947565b50505b505a6110ec614a0d565b50505050505015801561110c573d6000803e3d6000611109614947565b50505b505050507f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e58160405190815260200160405180910390a150565b6000610fa9613b76565b6000610fa9613be9565b6000610fa9613c5d565b61116c613863565b6703782dace9d900008111156111bc5760405162461bcd60e51b8152600401808060200182810382526021815260200180614cb160219139604001915050604051809103906111b9614947565b50505b6111c46138dd565b6001600160a01b0316631d5b277f600080516020614ddb833981519152716c69717569646174696f6e50656e616c747960701b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806112396149b2565b15801561124e5760008061124b614947565b50505b505a611258614a0d565b505050505050158015611278573d6000803e3d6000611275614947565b50505b505050507fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e98160405190815260200160405180910390a150565b6112ba613863565b8281146113165760405162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015260640160405180910390611313614947565b50505b60005b8381101561150d5767016345785d8a000083838381811061133657fe5b9050602002013511156113985760405162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015260640160405180910390611395614947565b50505b6113a06138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526e65786368616e67654665655261746560881b8888868181106113dc57fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012086868681811061141c57fe5b905060200201356040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806114646149b2565b15801561147957600080611476614947565b50505b505a611483614a0d565b5050505050501580156114a3573d6000803e3d60006114a0614947565b50505b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e8585838181106114d457fe5b905060200201358484848181106114e757fe5b9050602002013560405191825260208201526040908101905180910390a1600101611319565b5050505050565b600060606115206128d1565b905060005b815181101561169a57600082828151811061153c57fe5b60200260200101516000818152600360205290915060409020600090611560614af8565b6001600160a01b036101009290920a9004166000600261157e614af8565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806115cf6149b2565b1580156115e4576000806115e1614947565b50505b505a6115ee614b92565b505050505015801561160d573d6000803e3d600061160a614947565b50505b505050506040513d602081101561162c57600080611629614947565b50505b8101908080516001600160a01b031693909314159250829150611680905057506000818152600360205260408120600090611665614af8565b906101000a90046001600160a01b03166001600160a01b0316145b156116915760009350505050610fac565b50600101611525565b50600191505090565b6116ab613863565b60328111156116fe5760405162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b6044820152606401604051809103906116fb614947565b50505b60006117c760646117bb73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806117476149b2565b15801561175c57600080611759614947565b50505b505a611766614c59565b5050505050158015611785573d6000803e3d6000611782614947565b50505b505050506040513d60208110156117a4576000806117a1614947565b50505b81019080805188935091505063ffffffff613ccf16565b9063ffffffff613d3a16565b90506117d16138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806118436149b2565b15801561185857600080611855614947565b50505b505a611862614a0d565b505050505050158015611882573d6000803e3d600061187f614947565b50505b505050507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab128160405190815260200160405180910390a15050565b6000610fa9613dac565b6118cf613863565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b8152600401602060405180830381868061190e6149b2565b15801561192357600080611920614947565b50505b505a61192d614c59565b505050505015801561194c573d6000803e3d6000611949614947565b50505b505050506040513d602081101561196b57600080611968614947565b50505b81019080805184101592506119cb9150505760405162461bcd60e51b815260206004820152601660248201527543726174696f206d7573742062652061626f7665203160501b6044820152606401604051809103906119c8614947565b50505b6119d36138dd565b6001600160a01b0316631d5b277f600080516020614ddb833981519152686d696e43726174696f60b81b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611a826149b2565b158015611a9757600080611a94614947565b50505b505a611aa1614a0d565b505050505050158015611ac1573d6000803e3d6000611abe614947565b50505b505050507f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a58160405190815260200160405180910390a15050565b611b04613863565b611b0c6138dd565b6001600160a01b0316633f28a6fc600080516020614ddb833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b846040516001600160e01b031960e086901b168152600481019390935260248301919091521515604482015260640160006040518083038160008780611b866149b2565b158015611b9b57600080611b98614947565b50505b505a611ba5614a0d565b505050505050158015611bc5573d6000803e3d6000611bc2614947565b50505b505050507fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd81604051901515815260200160405180910390a150565b6000610fa9613e2b565b6000610c5b82613ea3565b60006001610e2c614af8565b62093a8081565b6000610c5b82613f51565b611c3c613863565b62278d00811115611c9c5760405162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015260640160405180910390611c99614947565b50505b62015180811015611cfc5760405162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015260640160405180910390611cf9614947565b50505b611d046138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526f6c69717569646174696f6e44656c617960801b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611d776149b2565b158015611d8c57600080611d89614947565b50505b505a611d96614a0d565b505050505050158015611db6573d6000803e3d6000611db3614947565b50505b505050507f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53988160405190815260200160405180910390a150565b670de0b6b3a764000081565b611e04613863565b611e0c6138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191527464656274536e617073686f745374616c6554696d6560581b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611e846149b2565b158015611e9957600080611e96614947565b50505b505a611ea3614a0d565b505050505050158015611ec3573d6000803e3d6000611ec0614947565b50505b505050507f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d78160405190815260200160405180910390a150565b6000610c5b82614005565b611f10613863565b611f186138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191527077616974696e67506572696f645365637360781b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611f8c6149b2565b158015611fa157600080611f9e614947565b50505b505a611fab614a0d565b505050505050158015611fcb573d6000803e3d6000611fc8614947565b50505b505050507fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f88160405190815260200160405180910390a150565b606061200f6128d1565b905060005b815181101561223457600082828151811061202b57fe5b602002602001015190506000806002612042614af8565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156120f75780820151838201526020016120df565b50505050905090810190601f1680156121245780820380516001836020036101000a031916815260200191505b509350505050602060405180830381868061213d6149b2565b1580156121525760008061214f614947565b50505b505a61215c614b92565b505050505015801561217b573d6000803e3d6000612178614947565b50505b505050506040513d602081101561219a57600080612197614947565b50505b81019080805160008681526003602052909450849350604092509050206001816121c2614af8565b816001600160a01b0302191690836001600160a01b03160217906121e4614b44565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101612014565b5050565b612240613863565b670de0b6b3a76400008111156122905760405162461bcd60e51b8152600401808060200182810382526026815260200180614d6e602691396040019150506040518091039061228d614947565b50505b6122986138dd565b6001600160a01b0316631d5b277f600080516020614ddb833981519152766574686572577261707065724d696e744665655261746560481b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806123126149b2565b15801561232757600080612324614947565b50505b505a612331614a0d565b505050505050158015612351573d6000803e3d600061234e614947565b50505b505050507f19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b8160405190815260200160405180910390a150565b60006001612397614af8565b906101000a90046001600160a01b03166001600160a01b03165a6123b9614c6a565b6001600160a01b0316146124075760405162461bcd60e51b8152600401808060200182810382526035815260200180614cd26035913960400191505060405180910390612404614947565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080612433614af8565b906101000a90046001600160a01b03166001600090612450614af8565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161248f614af8565b906101000a90046001600160a01b03166000806101000a816124af614af8565b816001600160a01b0302191690836001600160a01b03160217906124d1614b44565b5050506000600160006101000a816124e7614af8565b816001600160a01b0302191690836001600160a01b0316021790612509614b44565b505050565b612516613863565b61251e6138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806125906149b2565b1580156125a5576000806125a2614947565b50505b505a6125af614a0d565b5050505050501580156125cf573d6000803e3d60006125cc614947565b50505b505050507f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e668160405190815260200160405180910390a150565b612611613863565b6001600160a01b0381166126745760405162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015260640160405180910390612671614947565b50505b61267c6138dd565b6001600160a01b0316634dca0978600080516020614ddb8339815191527561676772656761746f725761726e696e67466c61677360501b846040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b03166044820152606401600060405180830381600087806126fe6149b2565b15801561271357600080612710614947565b50505b505a61271d614a0d565b50505050505015801561273d573d6000803e3d600061273a614947565b50505b505050507f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965816040516001600160a01b03909116815260200160405180910390a150565b622dc6c081565b612790613863565b6127986138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526e636f6c6c617073654665655261746560881b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061284d6149b2565b1580156128625760008061285f614947565b50505b505a61286c614a0d565b50505050505015801561288c573d6000803e3d6000612889614947565b50505b505050507f7e9498fa8cb2442ec5a6f05b47f4adaafaf286d03a3fa580cc0f3592b60b32358160405190815260200160405180910390a15050565b6000610fa96140be565b606060016040519080825280602002602001820160405280156128fe578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061292157fe5b60200260200101818152505090565b600080610e2c614af8565b6000610fa9614131565b61294d613863565b612a23612a0e61295b613be9565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b8152600401602060405180830381868061299a6149b2565b1580156129af576000806129ac614947565b50505b505a6129b9614c59565b50505050501580156129d8573d6000803e3d60006129d5614947565b50505b505050506040513d60208110156129f7576000806129f4614947565b50505b8101908080519392505063ffffffff6141aa169050565b670de0b6b3a76400009063ffffffff61420916565b811115612a6a5760405162461bcd60e51b8152600401808060200182810382526038815260200180614d076038913960400191505060405180910390612a67614947565b50505b6000612a8c671bc16d674ec80000612a80614227565b9063ffffffff61429616565b905080821015612ad65760405162461bcd60e51b8152600401808060200182810382526028815260200180614e2e6028913960400191505060405180910390612ad3614947565b50505b612ade6138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526f6c69717569646174696f6e526174696f60801b856040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780612b516149b2565b158015612b6657600080612b63614947565b50505b505a612b70614a0d565b505050505050158015612b90573d6000803e3d6000612b8d614947565b50505b505050507f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a8260405190815260200160405180910390a15050565b6000610c5b826142c0565b612bde613863565b612be66138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526b69737375654665655261746560a01b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780612c986149b2565b158015612cad57600080612caa614947565b50505b505a612cb7614a0d565b505050505050158015612cd7573d6000803e3d6000612cd4614947565b50505b505050507fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c8160405190815260200160405180910390a15050565b6000610fa961435f565b671bc16d674ec8000081565b612d30613863565b612d386138dd565b6001600160a01b0316633f28a6fc600080516020614ddb8339815191526b63616e4f70656e4c6f616e7360a01b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120846040516001600160e01b031960e086901b168152600481019390935260248301919091521515604482015260640160006040518083038160008780612dec6149b2565b158015612e0157600080612dfe614947565b50505b505a612e0b614a0d565b505050505050158015612e2b573d6000803e3d6000612e28614947565b50505b505050507f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa281604051901515815260200160405180910390a15050565b6201518081565b6000610fa96143d1565b603281565b6000610fa9614227565b6000610fa9614448565b6000610fa96144bc565b612ea4613863565b612eac6138dd565b6001600160a01b0316634dca0978600080516020614ddb833981519152733732bba1b7b63630ba32b930b626b0b730b3b2b960611b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120846040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038160008780612f6f6149b2565b158015612f8457600080612f81614947565b50505b505a612f8e614a0d565b505050505050158015612fae573d6000803e3d6000612fab614947565b50505b505050507f507e88d0e3541203c8e7dba038a3e807ac9121f0872ed9ed895cd7f3358334eb816040516001600160a01b03909116815260200160405180910390a15050565b627a120081565b613002613863565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806130416149b2565b15801561305657600080613053614947565b50505b505a613060614c59565b505050505015801561307f573d6000803e3d600061307c614947565b50505b505050506040513d602081101561309e5760008061309b614947565b50505b810190808051610e100284111592506130f69150505760405162461bcd60e51b815260206004820152600a60248201526926b0bc1018903437bab960b11b6044820152606401604051809103906130f3614947565b50505b6130fe6138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526f696e746572616374696f6e44656c617960801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806131b46149b2565b1580156131c9576000806131c6614947565b50505b505a6131d3614a0d565b5050505050501580156131f3573d6000803e3d60006131f0614947565b50505b505050507f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c23618160405190815260200160405180910390a15050565b6000610c5b82614533565b613241613863565b6132496138dd565b6001600160a01b0316631d5b277f600080516020614ddb833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806132be6149b2565b1580156132d3576000806132d0614947565b50505b505a6132dd614a0d565b5050505050501580156132fd573d6000803e3d60006132fa614947565b50505b505050507f8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc688160405190815260200160405180910390a150565b61333f613863565b622dc6c081101580156133555750627a12008111155b6133ae5760405162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d69740000006044820152606401604051809103906133ab614947565b50505b6133b66138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526133dc856145e4565b846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061341e6149b2565b15801561343357600080613430614947565b50505b505a61343d614a0d565b50505050505015801561345d573d6000803e3d600061345a614947565b50505b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600381111561349457fe5b60ff1681526020018281526020019250505060405180910390a15050565b6000610fa9614723565b6000610c5b82614794565b6134cf613863565b670de0b6b3a764000081111561351f5760405162461bcd60e51b8152600401808060200182810382526026815260200180614db5602691396040019150506040518091039061351c614947565b50505b6135276138dd565b6001600160a01b0316631d5b277f600080516020614ddb833981519152766574686572577261707065724275726e4665655261746560481b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806135a16149b2565b1580156135b6576000806135b3614947565b50505b505a6135c0614a0d565b5050505050501580156135e0573d6000803e3d60006135dd614947565b50505b505050507f1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a8160405190815260200160405180910390a150565b613622613863565b62093a808111156136825760405162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b60448201526064016040518091039061367f614947565b50505b61368a6138dd565b6001600160a01b0316631d5b277f600080516020614ddb8339815191526f6d696e696d756d5374616b6554696d6560801b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806136fd6149b2565b1580156137125760008061370f614947565b50505b505a61371c614a0d565b50505050505015801561373c573d6000803e3d6000613739614947565b50505b505050507f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144778160405190815260200160405180910390a150565b62278d0081565b624f1a0081565b67016345785d8a000081565b600061379a6138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526137c0856145e4565b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806137f76149b2565b15801561380c57600080613809614947565b50505b505a613816614b92565b5050505050158015613835573d6000803e3d6000613832614947565b50505b505050506040513d602081101561385457600080613851614947565b50505b81019080805195945050505050565b60008061386e614af8565b906101000a90046001600160a01b03166001600160a01b03165a613890614c6a565b6001600160a01b0316146138db5760405162461bcd60e51b815260040180806020018281038252602f815260200180614d3f602f913960400191505060405180910390612234614947565b565b6000610fa96e466c657869626c6553746f7261676560881b614845565b60006139046138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526f696e746572616374696f6e44656c617960801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806137f76149b2565b60006139b96138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b158015613a3557600080613a32614947565b50505b505a613a3f614b92565b5050505050158015613a5e573d6000803e3d6000613a5b614947565b50505b505050506040513d6020811015613a7d57600080613a7a614947565b50505b810190808051935050505090565b6000613a956138dd565b6001600160a01b03166323257c2b600080516020614ddb833981519152766574686572577261707065724d696e744665655261746560481b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b6000613b0e6138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526f6c69717569646174696f6e526174696f60801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b6000613b806138dd565b6001600160a01b03166323257c2b600080516020614ddb833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b6000613bf36138dd565b6001600160a01b03166323257c2b600080516020614ddb833981519152716c69717569646174696f6e50656e616c747960701b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b6000613c676138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526f6d696e696d756d5374616b6554696d6560801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b600082613cde57506000613d34565b82820282848281613ceb57fe5b0414613d315760405162461bcd60e51b8152600401808060200182810382526021815260200180614d946021913960400191505060405180910390613d2e614947565b50505b90505b92915050565b6000808211613d985760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390613d95614947565b50505b6000828481613da357fe5b04949350505050565b6000613db66138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b6000613e356138dd565b6001600160a01b0316639ee5955a600080516020614ddb8339815191527561676772656761746f725761726e696e67466c61677360501b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b6000613ead6138dd565b6001600160a01b03166323257c2b600080516020614ddb833981519152686d696e43726174696f60b81b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806137f76149b2565b6000613f5b6138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526e636f6c6c617073654665655261746560881b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806137f76149b2565b600061400f6138dd565b6001600160a01b0316639ee5955a600080516020614ddb833981519152733732bba1b7b63630ba32b930b626b0b730b3b2b960611b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806137f76149b2565b60006140c86138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191527077616974696e67506572696f645365637360781b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b600061413b6138dd565b6001600160a01b03166323257c2b600080516020614ddb833981519152766574686572577261707065724275726e4665655261746560481b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b600082820183811015613d315760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390613d2e614947565b6000613d31826117bb85670de0b6b3a764000063ffffffff613ccf16565b60006142316138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b6000670de0b6b3a76400006142b1848463ffffffff613ccf16565b816142b857fe5b049392505050565b60006142ca6138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806137f76149b2565b60006143696138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526f6c69717569646174696f6e44656c617960801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b60006143db6138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191527464656274536e617073686f745374616c6554696d6560581b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b60006144526138dd565b6001600160a01b03166323257c2b600080516020614ddb833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b60006144c66138dd565b6001600160a01b031663d994502d600080516020614ddb833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b600061453d6138dd565b6001600160a01b031663d994502d600080516020614ddb8339815191526b63616e4f70656e4c6f616e7360a01b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806137f76149b2565b6000808260038111156145f357fe5b141561462057507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610c5e565b600182600381111561462e57fe5b141561465b57507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610c5e565b600282600381111561466957fe5b141561469657507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610c5e565b60038260038111156146a457fe5b14156146d157507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610c5e565b60405162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b60448201526064016040518091039061471c614947565b5050919050565b600061472d6138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613a206149b2565b600061479e6138dd565b6001600160a01b03166323257c2b600080516020614ddb8339815191526b69737375654665655261746560a01b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806137f76149b2565b60008181526003602052806040812060009061485f614af8565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906149405760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156148fc5780820151838201526020016148e4565b50505050905090810190601f1680156149295780820380516001836020036101000a031916815260200191505b50925050506040518091039061493d614947565b50505b5092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561497f578086015182820160400152602001614964565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015612509576000828201526020016149f6565b6385979f76598160e01b8152614a3e565b8080831115613d34575090919050565b8080831015613d34575090919050565b836004820152846024820152606060448201528760648201526084810160005b89811015614a76578089015182820152602001614a5e565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059614acb8e3d614a2e565b8d01614ad78187614a1e565b5b82811015614aec5760008152602001614ad8565b50929d50505050505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206149f6565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206149f6565b638540661f598160e01b81525b836004820152846024820152606060448201528660648201526084810160005b88811015614bd7578088015182820152602001614bbf565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059614c2c8d3d614a2e565b8c01614c388187614a1e565b5b82811015614c4d5760008152602001614c39565b50929c50505050505050565b63ffe73914598160e01b8152614b9f565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206149f656fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e72617465203e204d41585f45544845525f575241505045525f4d494e545f4645455f52415445536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7772617465203e204d41585f45544845525f575241505045525f4255524e5f4645455f5241544553797374656d53657474696e67730000000000000000000000000000000000004e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f", "abi": [ { "inputs": [ @@ -2264,8 +2300,7 @@ ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "constructor" }, { "anonymous": false, @@ -2278,8 +2313,7 @@ } ], "name": "AggregatorWarningFlagsUpdated", - "type": "event", - "signature": "0x0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965" + "type": "event" }, { "anonymous": false, @@ -2298,8 +2332,46 @@ } ], "name": "CacheUpdated", - "type": "event", - "signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68" + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "canOpenLoans", + "type": "bool" + } + ], + "name": "CanOpenLoansUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "collapseFeeRate", + "type": "uint256" + } + ], + "name": "CollapseFeeRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newCollateralManager", + "type": "address" + } + ], + "name": "CollateralManagerUpdated", + "type": "event" }, { "anonymous": false, @@ -2318,8 +2390,7 @@ } ], "name": "CrossDomainMessageGasLimitChanged", - "type": "event", - "signature": "0xbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a" + "type": "event" }, { "anonymous": false, @@ -2332,8 +2403,7 @@ } ], "name": "DebtSnapshotStaleTimeUpdated", - "type": "event", - "signature": "0x9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d7" + "type": "event" }, { "anonymous": false, @@ -2346,8 +2416,7 @@ } ], "name": "EtherWrapperBurnFeeRateUpdated", - "type": "event", - "signature": "0x1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a" + "type": "event" }, { "anonymous": false, @@ -2360,8 +2429,7 @@ } ], "name": "EtherWrapperMaxETHUpdated", - "type": "event", - "signature": "0x8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc68" + "type": "event" }, { "anonymous": false, @@ -2374,8 +2442,7 @@ } ], "name": "EtherWrapperMintFeeRateUpdated", - "type": "event", - "signature": "0x19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b" + "type": "event" }, { "anonymous": false, @@ -2394,8 +2461,7 @@ } ], "name": "ExchangeFeeUpdated", - "type": "event", - "signature": "0xbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e" + "type": "event" }, { "anonymous": false, @@ -2408,8 +2474,20 @@ } ], "name": "FeePeriodDurationUpdated", - "type": "event", - "signature": "0x791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd" + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "interactionDelay", + "type": "uint256" + } + ], + "name": "InteractionDelayUpdated", + "type": "event" }, { "anonymous": false, @@ -2422,8 +2500,20 @@ } ], "name": "IssuanceRatioUpdated", - "type": "event", - "signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452" + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "issueFeeRate", + "type": "uint256" + } + ], + "name": "IssueFeeRateUpdated", + "type": "event" }, { "anonymous": false, @@ -2436,8 +2526,7 @@ } ], "name": "LiquidationDelayUpdated", - "type": "event", - "signature": "0x9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c5398" + "type": "event" }, { "anonymous": false, @@ -2450,8 +2539,7 @@ } ], "name": "LiquidationPenaltyUpdated", - "type": "event", - "signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9" + "type": "event" }, { "anonymous": false, @@ -2464,8 +2552,20 @@ } ], "name": "LiquidationRatioUpdated", - "type": "event", - "signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a" + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minCratio", + "type": "uint256" + } + ], + "name": "MinCratioRatioUpdated", + "type": "event" }, { "anonymous": false, @@ -2478,8 +2578,7 @@ } ], "name": "MinimumStakeTimeUpdated", - "type": "event", - "signature": "0x2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e814477" + "type": "event" }, { "anonymous": false, @@ -2498,8 +2597,7 @@ } ], "name": "OwnerChanged", - "type": "event", - "signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + "type": "event" }, { "anonymous": false, @@ -2512,8 +2610,7 @@ } ], "name": "OwnerNominated", - "type": "event", - "signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22" + "type": "event" }, { "anonymous": false, @@ -2526,8 +2623,7 @@ } ], "name": "PriceDeviationThresholdUpdated", - "type": "event", - "signature": "0x6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e5" + "type": "event" }, { "anonymous": false, @@ -2540,8 +2636,7 @@ } ], "name": "RateStalePeriodUpdated", - "type": "event", - "signature": "0x16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e66" + "type": "event" }, { "anonymous": false, @@ -2554,8 +2649,7 @@ } ], "name": "TargetThresholdUpdated", - "type": "event", - "signature": "0xb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12" + "type": "event" }, { "anonymous": false, @@ -2568,8 +2662,7 @@ } ], "name": "TradingRewardsEnabled", - "type": "event", - "signature": "0xe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd" + "type": "event" }, { "anonymous": false, @@ -2582,8 +2675,7 @@ } ], "name": "WaitingPeriodSecsUpdated", - "type": "event", - "signature": "0xc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f8" + "type": "event" }, { "constant": true, @@ -2598,8 +2690,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xc58c9ae4" + "type": "function" }, { "constant": true, @@ -2614,8 +2705,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x6022aac5" + "type": "function" }, { "constant": true, @@ -2630,8 +2720,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xdafd2daf" + "type": "function" }, { "constant": true, @@ -2646,8 +2735,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xfb1b4c7e" + "type": "function" }, { "constant": true, @@ -2662,8 +2750,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xf344da67" + "type": "function" }, { "constant": true, @@ -2678,8 +2765,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x657c6dc7" + "type": "function" }, { "constant": true, @@ -2694,8 +2780,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xf1076b25" + "type": "function" }, { "constant": true, @@ -2710,8 +2795,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x085f95cd" + "type": "function" }, { "constant": true, @@ -2726,8 +2810,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xb2ea7054" + "type": "function" }, { "constant": true, @@ -2742,8 +2825,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x580a975c" + "type": "function" }, { "constant": true, @@ -2758,8 +2840,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xaf8bc660" + "type": "function" }, { "constant": true, @@ -2774,8 +2855,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x7ce2cc7f" + "type": "function" }, { "constant": true, @@ -2790,8 +2870,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xd62ae399" + "type": "function" }, { "constant": true, @@ -2806,8 +2885,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xadd0989d" + "type": "function" }, { "constant": true, @@ -2822,8 +2900,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xa4ce5b71" + "type": "function" }, { "constant": false, @@ -2832,8 +2909,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x79ba5097" + "type": "function" }, { "constant": true, @@ -2848,8 +2924,70 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x4c36b837" + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "canOpenLoans", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "collapseFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "collateralManager", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" }, { "constant": true, @@ -2870,8 +3008,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x038e47fe" + "type": "function" }, { "constant": true, @@ -2886,8 +3023,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xaf5355d8" + "type": "function" }, { "constant": true, @@ -2902,8 +3038,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x922fef08" + "type": "function" }, { "constant": true, @@ -2918,8 +3053,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xbcf7eeac" + "type": "function" }, { "constant": true, @@ -2934,8 +3068,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x0f27b788" + "type": "function" }, { "constant": true, @@ -2956,8 +3089,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x967706e9" + "type": "function" }, { "constant": true, @@ -2972,8 +3104,28 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x22425fa4" + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "interactionDelay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" }, { "constant": true, @@ -2988,8 +3140,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x2af64bd3" + "type": "function" }, { "constant": true, @@ -3004,8 +3155,28 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xb410a034" + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "issueFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" }, { "constant": true, @@ -3020,8 +3191,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xa0cf7451" + "type": "function" }, { "constant": true, @@ -3036,8 +3206,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x23f5589a" + "type": "function" }, { "constant": true, @@ -3052,8 +3221,28 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x1775765f" + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "minCratio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" }, { "constant": true, @@ -3068,8 +3257,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x242df9e1" + "type": "function" }, { "constant": false, @@ -3084,8 +3272,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1627540c" + "type": "function" }, { "constant": true, @@ -3100,8 +3287,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x53a47bb7" + "type": "function" }, { "constant": true, @@ -3116,8 +3302,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x8da5cb5b" + "type": "function" }, { "constant": true, @@ -3132,8 +3317,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x372a395a" + "type": "function" }, { "constant": true, @@ -3148,8 +3332,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x0ee4951b" + "type": "function" }, { "constant": false, @@ -3158,8 +3341,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x74185360" + "type": "function" }, { "constant": true, @@ -3174,8 +3356,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x04f3bcec" + "type": "function" }, { "constant": true, @@ -3190,8 +3371,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x899ffef4" + "type": "function" }, { "constant": false, @@ -3206,8 +3386,67 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x7bf82305" + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_collateral", + "type": "address" + }, + { + "internalType": "bool", + "name": "_canOpenLoans", + "type": "bool" + } + ], + "name": "setCanOpenLoans", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_collateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_collapseFeeRate", + "type": "uint256" + } + ], + "name": "setCollapseFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_collateral", + "type": "address" + }, + { + "internalType": "address", + "name": "_newCollateralManager", + "type": "address" + } + ], + "name": "setCollateralManager", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" }, { "constant": false, @@ -3227,8 +3466,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xdc8f4a1b" + "type": "function" }, { "constant": false, @@ -3243,8 +3481,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x6190dd7a" + "type": "function" }, { "constant": false, @@ -3259,8 +3496,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe7894da1" + "type": "function" }, { "constant": false, @@ -3275,8 +3511,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xcc754a4c" + "type": "function" }, { "constant": false, @@ -3291,8 +3526,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x75aca321" + "type": "function" }, { "constant": false, @@ -3312,8 +3546,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x28a1170d" + "type": "function" }, { "constant": false, @@ -3328,8 +3561,27 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x04c49f2c" + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_collateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_interactionDelay", + "type": "uint256" + } + ], + "name": "setInteractionDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" }, { "constant": false, @@ -3344,8 +3596,27 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x054be0b7" + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_collateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_issueFeeRate", + "type": "uint256" + } + ], + "name": "setIssueFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" }, { "constant": false, @@ -3360,8 +3631,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x5e0117d6" + "type": "function" }, { "constant": false, @@ -3376,8 +3646,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x2806a743" + "type": "function" }, { "constant": false, @@ -3392,8 +3661,27 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x946ce8cd" + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_collateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minCratio", + "type": "uint256" + } + ], + "name": "setMinCratio", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" }, { "constant": false, @@ -3408,8 +3696,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe9422046" + "type": "function" }, { "constant": false, @@ -3424,8 +3711,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1e6e2190" + "type": "function" }, { "constant": false, @@ -3440,8 +3726,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x79cb657a" + "type": "function" }, { "constant": false, @@ -3456,8 +3741,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x2cce0e54" + "type": "function" }, { "constant": false, @@ -3472,8 +3756,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4641ab66" + "type": "function" }, { "constant": false, @@ -3488,8 +3771,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x635a3872" + "type": "function" }, { "constant": true, @@ -3504,8 +3786,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xe0e6393d" + "type": "function" }, { "constant": true, @@ -3520,8 +3801,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xc193f0d8" + "type": "function" }, { "constant": true, @@ -3536,15 +3816,14 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x89257117" + "type": "function" } ], "source": { - "keccak256": "0x0f69f9445094d33ec2f09f8dbb5f64a53e977f95460907100f5350ce9db41b93", + "keccak256": "0xd471f984a13e6c400a542ca769d6bae657a43d59d55636fa83513acea87bc0ba", "urls": [ - "bzz-raw://4c837e39c07dfb0d10d07170e386d62e5a77d2a14c204f953dad38a82a2bd391", - "dweb:/ipfs/QmdEpoq8jSKryCT4rRU8A2ie9tAJq3pa7UFA8pxF3bNScK" + "bzz-raw://1c5a0b91dc71bb818ae0306f4440e16a9a18c4ba3b828280109cd36eddacb8d7", + "dweb:/ipfs/QmVFuZ6QWd5T27XifiGtVFWUoHqtx1BVQApWNjKYGHaFcx" ] }, "metadata": { @@ -3566,10 +3845,10 @@ }, "sources": { "SystemSettings.sol": { - "keccak256": "0x0f69f9445094d33ec2f09f8dbb5f64a53e977f95460907100f5350ce9db41b93", + "keccak256": "0xd471f984a13e6c400a542ca769d6bae657a43d59d55636fa83513acea87bc0ba", "urls": [ - "bzz-raw://4c837e39c07dfb0d10d07170e386d62e5a77d2a14c204f953dad38a82a2bd391", - "dweb:/ipfs/QmdEpoq8jSKryCT4rRU8A2ie9tAJq3pa7UFA8pxF3bNScK" + "bzz-raw://1c5a0b91dc71bb818ae0306f4440e16a9a18c4ba3b828280109cd36eddacb8d7", + "dweb:/ipfs/QmVFuZ6QWd5T27XifiGtVFWUoHqtx1BVQApWNjKYGHaFcx" ] } }, @@ -16423,7 +16702,7 @@ } }, "Exchanger": { - "bytecode": "60806040523480156200001c57600080620000196200018a565b50505b50604051620052f0380380620052f0833981810160405260408110156200004d576000806200004a6200018a565b50505b81019080805192919060200180519250829150819050836001600160a01b038116620000ca5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c76200018a565b50505b806000600181620000da620001f7565b816001600160a01b0302191690836001600160a01b0316021790620000fe62000259565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15080600260018162000159620001f7565b816001600160a01b0302191690836001600160a01b03160217906200017d62000259565b50505050505050620002a8565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c4578086015182820160400152602001620001a7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000254576000828201526020016200023b565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023b565b61503880620002b86000396000f3fe608060405234801561001957600080610016614b2f565b50505b50600436106101975760003560e01c806353a47bb7116100e757806389257117116100a0578063c193f0d81161007a578063c193f0d814610583578063ce0969401461058b578063d6f32e06146105b7578063f450aa34146105ec57610197565b80638925711714610518578063899ffef4146105205780638da5cb5b1461057b57610197565b806353a47bb7146104ac57806357af302c146104b4578063614d08f8146104da57806374185360146104e257806379ba5097146104ea5780637dd1a57a146104f257610197565b80631b16802c11610154578063372a395a1161012e578063372a395a146103cf5780633fa70f45146103d75780634c268fc8146103df5780634f8633d21461042057610197565b80631b16802c146102ec57806324286df0146103215780632af64bd3146103b357610197565b806304f3bcec146101a5578063059c29ec146101c95780630b9e31c9146102105780631627540c1461023857806319d5c665146102675780631a5c6095146102c0575b6000806101a2614b2f565b50505b6101ad61061e565b6040516001600160a01b03909116815260200160405180910390f35b6101fe600480360360408110156101e8576000806101e5614b2f565b50505b506001600160a01b03813516906020013561063d565b60405190815260200160405180910390f35b6102366004803603602081101561022f5760008061022c614b2f565b50505b503561070f565b005b6102366004803603602081101561025757600080610254614b2f565b50505b50356001600160a01b0316610a41565b61029c6004803603604081101561028657600080610283614b2f565b50505b506001600160a01b038135169060200135610abb565b60405180848152602001838152602001828152602001935050505060405180910390f35b6101fe600480360360408110156102df576000806102dc614b2f565b50505b5080359060200135610ad9565b61029c6004803603604081101561030b57600080610308614b2f565b50505b506001600160a01b038135169060200135610ae5565b610236600480360360208110156103405760008061033d614b2f565b50505b810190602081018135600160201b81111561036357600080610360614b2f565b50505b82018360208201111561037e5760008061037b614b2f565b50505b803590602001918460208302840111600160201b831117156103a8576000806103a5614b2f565b50505b509092509050610b8e565b6103bb610de6565b604051901515815260200160405180910390f35b6101fe610f76565b6101fe610f85565b6101fe600480360360808110156103fe576000806103fb614b2f565b50505b506001600160a01b038135169060208101359060408101359060600135610f8a565b61048b60048036036101208110156104405760008061043d614b2f565b50505b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013582169160c082013515159160e081013590911690610100013561111e565b6040519182526001600160a01b031660208201526040908101905180910390f35b6101ad611523565b6103bb600480360360208110156104d3576000806104d0614b2f565b50505b503561152f565b6101fe611586565b610236611596565b6102366117c9565b6101fe600480360360208110156105115760008061050e614b2f565b50505b503561194c565b6101fe611967565b610528611971565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561056757808201518382015260200161054f565b505050509050019250505060405180910390f35b6101ad611b28565b6103bb611b33565b610236600480360360408110156105aa576000806105a7614b2f565b50505b5080359060200135611b3d565b6103bb600480360360408110156105d6576000806105d3614b2f565b50505b506001600160a01b038135169060200135611c35565b61029c6004803603606081101561060b57600080610608614b2f565b50505b5080359060208101359060400135611c67565b6000600261062a614b9a565b906101000a90046001600160a01b031681565b600061070661064a611c87565b6001600160a01b031663f1406dc885856040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680610699614bf5565b1580156106ae576000806106ab614b2f565b50505b505a6106b8614c41565b50505050501580156106d7573d6000803e3d60006106d4614b2f565b50505b505050506040513d60208110156106f6576000806106f3614b2f565b50505b8101908080519250611ca2915050565b90505b92915050565b610717611d11565b6001600160a01b031663086dabd16040518163ffffffff1660e01b8152600401600060405180830381868061074a614bf5565b15801561075f5760008061075c614b2f565b50505b505a610769614c41565b5050505050158015610788573d6000803e3d6000610785614b2f565b50505b5050505060006001600160a01b031661079f611d2b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806107e0614bf5565b1580156107f5576000806107f2614b2f565b50505b505a6107ff614c41565b505050505015801561081e573d6000803e3d600061081b614b2f565b50505b505050506040513d602081101561083d5760008061083a614b2f565b50505b8101908080516001600160a01b03169390931415925061089f9150505760405162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b60448201526064016040518091039061089c614b2f565b50505b610959816108ab611d3f565b6001600160a01b031663ac82f608846040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806108ec614bf5565b158015610901576000806108fe614b2f565b50505b505a61090b614c41565b505050505015801561092a573d6000803e3d6000610927614b2f565b50505b505050506040513d602081101561094957600080610946614b2f565b50505b8101908080519250611d5a915050565b6109a95760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b6044820152606401604051809103906109a6614b2f565b50505b6109b1611d11565b6001600160a01b031663abc0bb6e8260416040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806109fb614bf5565b158015610a1057600080610a0d614b2f565b50505b505a610a1a614d2c565b505050505050158015610a3a573d6000803e3d6000610a37614b2f565b50505b5050505050565b610a49612018565b8060018080610a56614b9a565b816001600160a01b0302191690836001600160a01b0316021790610a78614df2565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000806000610aca8585612092565b50919790965090945092505050565b600061070683836123bb565b6000806000610af2611d11565b6001600160a01b03166342a28e21856040516001600160e01b031960e084901b16815260048101919091526024016000604051808303818680610b33614bf5565b158015610b4857600080610b45614b2f565b50505b505a610b52614c41565b5050505050158015610b71573d6000803e3d6000610b6e614b2f565b50505b50505050610b8185856001612479565b9250925092509250925092565b610b96612018565b60606000610ba2611d3f565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b8152600401808060200182810382528484828181526020019250602002808284376000838201819052601f909101601f1916909201955090935060409250505051808303818680610c0e614bf5565b158015610c2357600080610c20614b2f565b50505b505a610c2d614c41565b5050505050158015610c4c573d6000803e3d6000610c49614b2f565b50505b505050506040513d6000823e601f3d908101601f191682016040908152811015610c7e57600080610c7b614b2f565b50505b8101908080516040519392919084600160201b821115610ca657600080610ca3614b2f565b50505b908301906020820185811115610cc457600080610cc1614b2f565b50505b82518660208202830111600160201b82111715610ce957600080610ce6614b2f565b50505b825250602001908051906020019060200280838360005b83811015610d18578082015183820152602001610d00565b5050505090500160405260200180519395509293505082159150610d8d90505760405162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015260640160405180910390610d8a614b2f565b50505b60005b83811015610a3a57828181518110610da457fe5b602002602001015160046000878785818110610dbc57fe5b9050602002013581526020019081526020016000208190610ddb614df2565b505050600101610d90565b60006060610df2611971565b905060005b8151811015610f6c576000828281518110610e0e57fe5b60200260200101516000818152600360205290915060409020600090610e32614b9a565b6001600160a01b036101009290920a90041660006002610e50614b9a565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610ea1614bf5565b158015610eb657600080610eb3614b2f565b50505b505a610ec0614c41565b5050505050158015610edf573d6000803e3d6000610edc614b2f565b50505b505050506040513d6020811015610efe57600080610efb614b2f565b50505b8101908080516001600160a01b031693909314159250829150610f52905057506000818152600360205260408120600090610f37614b9a565b906101000a90046001600160a01b03166001600160a01b0316145b15610f635760009350505050610f73565b50600101610df7565b5060019150505b90565b6000610f8061283f565b905090565b604181565b816000610f95611d2b565b6001600160a01b03166332608039866040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610fd6614bf5565b158015610feb57600080610fe8614b2f565b50505b505a610ff5614c41565b5050505050158015611014573d6000803e3d6000611011614b2f565b50505b505050506040513d602081101561103357600080611030614b2f565b50505b8101908080516001600160a01b031692506370a0823191508890506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611088614bf5565b15801561109d5760008061109a614b2f565b50505b505a6110a7614c41565b50505050501580156110c6573d6000803e3d60006110c3614b2f565b50505b505050506040513d60208110156110e5576000806110e2614b2f565b50505b8101908080519350505050808211156110fc578091505b821561111557611112828463ffffffff61292c16565b91505b50949350505050565b600080600061112b612994565b9050806001600160a01b03165a611140614e40565b6001600160a01b03161480611211575060006001600160a01b0382166316b2213f5a61116a614e40565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806111a4614bf5565b1580156111b9576000806111b6614b2f565b50505b505a6111c3614c41565b50505050501580156111e2573d6000803e3d60006111df614b2f565b50505b505050506040513d6020811015611201576000806111fe614b2f565b50505b8101908080519390931415925050505b6112555760405162461bcd60e51b8152600401808060200182810382526045815260200180614f5e6045913960600191505060405180910390611252614b2f565b50505b60008c6001600160a01b03168c6001600160a01b03161461138a576112786129ab565b6001600160a01b031663faf431bb8e8e6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186806112c9614bf5565b1580156112de576000806112db614b2f565b50505b505a6112e8614c41565b5050505050158015611307573d6000803e3d6000611304614b2f565b50505b505050506040513d602081101561132657600080611323614b2f565b50505b810190808051925061138a9150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015260640160405180910390611387614b2f565b50505b6113988d8c8c8c8c8c6129ca565b919550909350905080158015906113b757506001600160a01b03861615155b80156113c657506113c6612edd565b15611469576113d3612f57565b6001600160a01b03166321cad77482886040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038160008780611425614bf5565b15801561143a57600080611437614b2f565b50505b505a611444614d2c565b505050505050158015611464573d6000803e3d6000611461614b2f565b50505b505050505b841561151357611477612994565b6001600160a01b0316632d3169eb868b87856040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526064820152608401600060405180830381600087806114cf614bf5565b1580156114e4576000806114e1614b2f565b50505b505a6114ee614d2c565b50505050505015801561150e573d6000803e3d600061150b614b2f565b50505b505050505b5050995099975050505050505050565b6000600161062a614b9a565b600061157e8261153d611d3f565b6001600160a01b031663ac82f608856040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806108ec614bf5565b90505b919050565b6822bc31b430b733b2b960b91b81565b60606115a0611971565b905060005b81518110156117c55760008282815181106115bc57fe5b6020026020010151905060008060026115d3614b9a565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611688578082015183820152602001611670565b50505050905090810190601f1680156116b55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186806116ce614bf5565b1580156116e3576000806116e0614b2f565b50505b505a6116ed614c41565b505050505015801561170c573d6000803e3d6000611709614b2f565b50505b505050506040513d602081101561172b57600080611728614b2f565b50505b8101908080516000868152600360205290945084935060409250905020600181611753614b9a565b816001600160a01b0302191690836001600160a01b0316021790611775614df2565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a150506001016115a5565b5050565b600060016117d5614b9a565b906101000a90046001600160a01b03166001600160a01b03165a6117f7614e40565b6001600160a01b0316146118455760405162461bcd60e51b8152600401808060200182810382526035815260200180614f296035913960400191505060405180910390611842614b2f565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611871614b9a565b906101000a90046001600160a01b0316600160009061188e614b9a565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016118cd614b9a565b906101000a90046001600160a01b03166000806101000a816118ed614b9a565b816001600160a01b0302191690836001600160a01b031602179061190f614df2565b5050506000600160006101000a81611925614b9a565b816001600160a01b0302191690836001600160a01b0316021790611947614df2565b505050565b60046020528060005260406000209050611964614b9a565b81565b6000610f80612f73565b60608061197c612fe9565b9050606060096040519080825280602002602001820160405280156119ab578160200160208202803883390190505b5090506b53797374656d53746174757360a01b816000815181106119cb57fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106119f557fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611a1f57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600381518110611a4557fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110611a6957fe5b6020026020010181815250506d54726164696e675265776172647360901b81600581518110611a9457fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110611ac257fe5b6020026020010181815250506524b9b9bab2b960d11b81600781518110611ae557fe5b6020026020010181815250506844656274436163686560b81b81600881518110611b0b57fe5b602002602001018181525050611b218282613048565b9250505090565b60008061062a614b9a565b6000610f80612edd565b6000611b47611d3f565b9050806001600160a01b03165a611b5c614e40565b6001600160a01b031614611bbf5760405162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015260640160405180910390611bbc614b2f565b50505b60008211611c135760405162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015260640160405180910390611c10614b2f565b50505b600083815260046020528290604090208190611c2d614df2565b505050505050565b6000611c41838361063d565b15611c4e57506001610709565b6000611c5a8484612092565b5050501515949350505050565b6000806000611c77868686613104565b5092999198509650945050505050565b6000610f806c45786368616e6765537461746560981b61321d565b600080611cad612f73565b9050821580611cd35750611cc7838263ffffffff61292c16565b5a611cd0614e86565b10155b15611ce2576000915050611581565b611d0a5a611cee614e86565b611cfe858463ffffffff61292c16565b9063ffffffff61331e16565b9392505050565b6000610f806b53797374656d53746174757360a01b61321d565b6000610f806524b9b9bab2b960d11b61321d565b6000610f806c45786368616e6765526174657360981b61321d565b600081611d6957506001610709565b6000838152600460205260408120611d7f614b9a565b90508015611d9957611d918184613383565b915050610709565b6060611da3611d3f565b6001600160a01b0316632d7371e18660046040516001600160e01b031960e085901b168152600481019290925260248201526044016000604051808303818680611deb614bf5565b158015611e0057600080611dfd614b2f565b50505b505a611e0a614c41565b5050505050158015611e29573d6000803e3d6000611e26614b2f565b50505b505050506040513d6000823e601f3d908101601f191682016040908152811015611e5b57600080611e58614b2f565b50505b8101908080516040519392919084600160201b821115611e8357600080611e80614b2f565b50505b908301906020820185811115611ea157600080611e9e614b2f565b50505b82518660208202830111600160201b82111715611ec657600080611ec3614b2f565b50505b825250602001908051906020019060200280838360005b83811015611ef5578082015183820152602001611edd565b5050505090500160405260200180516040519392919084600160201b821115611f2657600080611f23614b2f565b50505b908301906020820185811115611f4457600080611f41614b2f565b50505b82518660208202830111600160201b82111715611f6957600080611f66614b2f565b50505b825250602001908051906020019060200280838360005b83811015611f98578082015183820152602001611f80565b505050509050016040525050505090506000600190505b815181101561200c576000828281518110611fc657fe5b6020026020010151118015611ff35750611ff3828281518110611fe557fe5b602002602001015186613383565b156120045760019350505050610709565b600101611faf565b50600095945050505050565b600080612023614b9a565b906101000a90046001600160a01b03166001600160a01b03165a612045614e40565b6001600160a01b0316146120905760405162461bcd60e51b815260040180806020018281038252602f815260200180614fa3602f9139604001915050604051809103906117c5614b2f565b565b600080600060606120a1611c87565b6001600160a01b031663b44e975387876040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186806120f0614bf5565b15801561210557600080612102614b2f565b50505b505a61210f614c41565b505050505015801561212e573d6000803e3d600061212b614b2f565b50505b505050506040513d602081101561214d5760008061214a614b2f565b50505b810190808051945060609250849150604090505190808252806020026020018201604052801561219757816020015b612184614ecc565b81526020019060019003908161217c5790505b50905060005b838110156123af576000806121b0614ecc565b6121bb8b8b866133e2565b90506000806121c983613554565b9150915060006121d7611d3f565b6001600160a01b031663266da16b85518660200151876040015187876040516001600160e01b031960e088901b1681526004810195909552602485019390935260448401919091526064830152608482015260a401602060405180830381868061223f614bf5565b15801561225457600080612251614b2f565b50505b505a61225e614c41565b505050505015801561227d573d6000803e3d600061227a614b2f565b50505b505050506040513d602081101561229c57600080612299614b2f565b50505b8101908080519350600092506122ba9150839050608087015161370b565b90506122ca856060015182613383565b61233e578085606001511115612308576122ef8186606001519063ffffffff61331e16565b96506123018d8863ffffffff61292c16565b9c5061233e565b846060015181111561233e576123298560600151829063ffffffff61331e16565b955061233b8c8763ffffffff61292c16565b9b505b6040516101008101604052808651815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151905289898151811061239057fe5b602002602001018190525050505050505050808060010191505061219d565b50905092959194509250565b60006123c6826137d4565b9050631cd554d160e21b8314806123e35750631cd554d160e21b82145b156123ed57610709565b607360f81b6001600160f81b0319600085901a60f81b161480156124255750606960f81b6001600160f81b0319600084901a60f81b16145b806124635750606960f81b6001600160f81b0319600085901a60f81b161480156124635750607360f81b6001600160f81b0319600084901a60f81b16145b156107095761070681600263ffffffff6138e216565b6000806000612488868661063d565b156124cd5760405162461bcd60e51b815260040180806020018281038252602381526020018061501560239139604001915050604051809103906124ca614b2f565b50505b600080600060606124de8a8a612092565b935093509350935082841115612510576124fe848463ffffffff61331e16565b965061250b8a8a89613941565b612535565b8383111561253557612528838563ffffffff61331e16565b95506125358a8a88613b30565b87156126505760606001604051908082528060200260200182016040528015612568578160200160208202803883390190505b509050898160008151811061257957fe5b60200260200101818152505061258d613cd8565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156125eb5780820151838201526020016125d3565b50505050905001925050506000604051808303816000878061260b614bf5565b1580156126205760008061261d614b2f565b50505b505a61262a614d2c565b50505050505015801561264a573d6000803e3d6000612647614b2f565b50505b50505050505b60005b8151811015612792578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e94083838151811061269357fe5b6020026020010151518484815181106126a857fe5b6020026020010151602001518585815181106126c057fe5b6020026020010151604001518686815181106126d857fe5b6020026020010151606001518787815181106126f057fe5b60200260200101516080015188888151811061270857fe5b602002602001015160a0015189898151811061272057fe5b602002602001015160c001518a8a8151811061273857fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612653565b5081945061279e611c87565b6001600160a01b031663d0d3d62a8b8b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806127ef614bf5565b15801561280457600080612801614b2f565b50505b505a61280e614d2c565b50505050505015801561282e573d6000803e3d600061282b614b2f565b50505b505050505050505093509350939050565b6000612849613cef565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806128c1614bf5565b1580156128d6576000806128d3614b2f565b50505b505a6128e0614c41565b50505050501580156128ff573d6000803e3d60006128fc614b2f565b50505b505050506040513d602081101561291e5760008061291b614b2f565b50505b810190808051935050505090565b6000828201838110156107065760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016040518091039061298b614b2f565b50509392505050565b6000610f80680a6f2dce8d0cae8d2f60bb1b61321d565b6000610f807044656c6567617465417070726f76616c7360781b61321d565b60008060006129da888888613d0c565b60006129e7888b8b613f42565b9050806129fe575060009250829150819050612ed1565b6000806000612a0e848d8c613104565b939a50919850945092509050612a248c83613f78565b80612a345750612a348a82613f78565b15612a4d575060009550859450849350612ed192505050565b612a5c8c8e868d8b8e8e614041565b94506001600160a01b03851615612a71578498505b8515612dbf57612a7f611d3f565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016020604051808303818680612ad6614bf5565b158015612aeb57600080612ae8614b2f565b50505b505a612af5614c41565b5050505050158015612b14573d6000803e3d6000612b11614b2f565b50505b505050506040513d6020811015612b3357600080612b30614b2f565b50505b8101908080519850612b489250611d2b915050565b6001600160a01b03166332608039631cd554d160e21b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680612b90614bf5565b158015612ba557600080612ba2614b2f565b50505b505a612baf614c41565b5050505050158015612bce573d6000803e3d6000612bcb614b2f565b50505b505050506040513d6020811015612bed57600080612bea614b2f565b50505b8101908080516001600160a01b0316925063867904b49150612c0f905061442c565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b81526004016020604051808303818680612c42614bf5565b158015612c5757600080612c54614b2f565b50505b505a612c61614c41565b5050505050158015612c80573d6000803e3d6000612c7d614b2f565b50505b505050506040513d6020811015612c9f57600080612c9c614b2f565b50505b81019080805192508a915060409050516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612ced614bf5565b158015612d0257600080612cff614b2f565b50505b505a612d0c614d2c565b505050505050158015612d2c573d6000803e3d6000612d29614b2f565b50505b50505050612d3861442c565b6001600160a01b03166322bf55ef876040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780612d7b614bf5565b158015612d9057600080612d8d614b2f565b50505b505a612d9a614d2c565b505050505050158015612dba573d6000803e3d6000612db7614b2f565b50505b505050505b612dee604051604080820181528e8252602082018d905251806040016040528085815260200184815250614441565b612df6612994565b6001600160a01b0316636c00f3108e8e878e8c8f6040516001600160e01b031960e089901b1681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152608483015290911660a482015260c40160006040518083038160008780612e6b614bf5565b158015612e8057600080612e7d614b2f565b50505b505a612e8a614d2c565b505050505050158015612eaa573d6000803e3d6000612ea7614b2f565b50505b505050506000612eb8612f73565b1115612ecc57612ecc898d868d8b8861474e565b505050505b96509650969350505050565b6000612ee7613cef565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806128c1614bf5565b6000610f806d54726164696e675265776172647360901b61321d565b6000612f7d613cef565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806128c1614bf5565b60606001604051908082528060200260200182016040528015613016578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061303957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613078578160200160208202803883390190505b50905060005b83518110156130ba5783818151811061309357fe5b60200260200101518282815181106130a757fe5b602090810291909101015260010161307e565b5060005b82518110156130fd578281815181106130d357fe5b60200260200101518282865101815181106130ea57fe5b60209081029190910101526001016130be565b5092915050565b600080600080600080613115611d3f565b6001600160a01b0316638295016a898b8a6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016060604051808303818680613165614bf5565b15801561317a57600080613177614b2f565b50505b505a613184614c41565b50505050501580156131a3573d6000803e3d60006131a0614b2f565b50505b505050506040513d60608110156131c2576000806131bf614b2f565b50505b810190808051929190602001805192919060200180519397509295509293506131f192508a91508990506123bb565b93506131fd818561370b565b955061320f818763ffffffff61331e16565b945050939792965093509350565b600081815260036020528060408120600090613237614b9a565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906130fd5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156132d45780820151838201526020016132bc565b50505050905090810190601f1680156133015780820380516001836020036101000a031916815260200191505b509250505060405180910390613315614b2f565b50505092915050565b60008282111561337d5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016040518091039061337a614b2f565b50505b50900390565b6000821580613390575081155b1561339d57506001610709565b6000838311156133be576133b7838563ffffffff614a0b16565b90506133d1565b6133ce848463ffffffff614a0b16565b90505b6133d961283f565b11159392505050565b6133ea614ecc565b6000806000806000806000806133fe611c87565b6001600160a01b03166315987eb68d8d8d6040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401610100604051808303818680613457614bf5565b15801561346c57600080613469614b2f565b50505b505a613476614c41565b5050505050158015613495573d6000803e3d6000613492614b2f565b50505b505050506040513d6101008110156134b5576000806134b2614b2f565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051929190602001805192919060200180519291906020018051906020019092919050505097509750975097509750975097509750604051610100810160409081529881526020810197909752968601949094526060850192909252608084015260a083015260c082015260e0810191909152949350505050565b6000806000613561611d3f565b9050600061356d612f73565b90506001600160a01b03821663109e46a286518760c001518860a00151856040516001600160e01b031960e087901b168152600481019490945260248401929092526044830152606482015260840160206040518083038186806135cf614bf5565b1580156135e4576000806135e1614b2f565b50505b505a6135ee614c41565b505050505015801561360d573d6000803e3d600061360a614b2f565b50505b505050506040513d602081101561362c57600080613629614b2f565b50505b810190808051965050506001600160a01b038316905063109e46a260408701518760e001518860a00151856040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526064820152608401602060405180830381868061369b614bf5565b1580156136b0576000806136ad614b2f565b50505b505a6136ba614c41565b50505050501580156136d9573d6000803e3d60006136d6614b2f565b50505b505050506040513d60208110156136f8576000806136f5614b2f565b50505b8101908080519698969750505050505050565b60006107066137c78373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680613753614bf5565b15801561376857600080613765614b2f565b50505b505a613772614f17565b5050505050158015613791573d6000803e3d600061378e614b2f565b50505b505050506040513d60208110156137b0576000806137ad614b2f565b50505b8101908080519392505063ffffffff61331e169050565b849063ffffffff614a3516565b60006137de613cef565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613876614bf5565b15801561388b57600080613888614b2f565b50505b505a613895614c41565b50505050501580156138b4573d6000803e3d60006138b1614b2f565b50505b505050506040513d60208110156138d3576000806138d0614b2f565b50505b81019080805195945050505050565b6000826138f157506000610709565b828202828482816138fe57fe5b04146107065760405162461bcd60e51b8152600401808060200182810382526021815260200180614fd2602191396040019150506040518091039061298b614b2f565b613949611d2b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061398a614bf5565b15801561399f5760008061399c614b2f565b50505b505a6139a9614c41565b50505050501580156139c8573d6000803e3d60006139c5614b2f565b50505b505050506040513d60208110156139e7576000806139e4614b2f565b50505b8101908080516001600160a01b03169250639dc29fac9150859050836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613a44614bf5565b158015613a5957600080613a56614b2f565b50505b505a613a63614d2c565b505050505050158015613a83573d6000803e3d6000613a80614b2f565b50505b50505050613a8f612994565b6001600160a01b031663ace88afd8484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780613ae9614bf5565b158015613afe57600080613afb614b2f565b50505b505a613b08614d2c565b505050505050158015610a37573d6000803e3d6000613b25614b2f565b505050505050505050565b613b38611d2b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680613b79614bf5565b158015613b8e57600080613b8b614b2f565b50505b505a613b98614c41565b5050505050158015613bb7573d6000803e3d6000613bb4614b2f565b50505b505050506040513d6020811015613bd657600080613bd3614b2f565b50505b8101908080516001600160a01b0316925063867904b49150859050836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613c33614bf5565b158015613c4857600080613c45614b2f565b50505b505a613c52614d2c565b505050505050158015613c72573d6000803e3d6000613c6f614b2f565b50505b50505050613c7e612994565b6001600160a01b0316636f01a9868484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780613ae9614bf5565b6000610f806844656274436163686560b81b61321d565b6000610f806e466c657869626c6553746f7261676560881b61321d565b80831415613d5f5760405162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015260640160405180910390613d5c614b2f565b50505b60008211613daa5760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015260640160405180910390613da7614b2f565b50505b60606002604051908082528060200260200182016040528015613dd7578160200160208202803883390190505b5090508381600081518110613de857fe5b6020026020010181815250508181600181518110613e0257fe5b602002602001018181525050613e16611d3f565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015613e74578082015183820152602001613e5c565b50505050905001925050506020604051808303818680613e92614bf5565b158015613ea757600080613ea4614b2f565b50505b505a613eb1614c41565b5050505050158015613ed0573d6000803e3d6000613ecd614b2f565b50505b505050506040513d6020811015613eef57600080613eec614b2f565b50505b810190808051159250613f3c9150505760405162461bcd60e51b8152600401808060200182810382526022815260200180614ff36022913960400191505060405180910390611c2d614b2f565b50505050565b6000806000613f5385856000612479565b889550909350915050801561298b57613f6e85858885610f8a565b9695505050505050565b6000613f848383611d5a565b1561402757613f91611d11565b6001600160a01b031663abc0bb6e8460416040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780613fdb614bf5565b158015613ff057600080613fed614b2f565b50505b505a613ffa614d2c565b50505050505015801561401a573d6000803e3d6000614017614b2f565b50505b5050505060019050610709565b600083815260046020528290604090208190613315614df2565b600061404b611d2b565b6001600160a01b03166332608039896040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061408c614bf5565b1580156140a15760008061409e614b2f565b50505b505a6140ab614c41565b50505050501580156140ca573d6000803e3d60006140c7614b2f565b50505b505050506040513d60208110156140e9576000806140e6614b2f565b50505b8101908080516001600160a01b03169250639dc29fac9150899050886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614146614bf5565b15801561415b57600080614158614b2f565b50505b505a614165614d2c565b505050505050158015614185573d6000803e3d6000614182614b2f565b50505b505050506000614193611d2b565b6001600160a01b03166332608039876040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806141d4614bf5565b1580156141e9576000806141e6614b2f565b50505b505a6141f3614c41565b5050505050158015614212573d6000803e3d600061420f614b2f565b50505b505050506040513d60208110156142315760008061422e614b2f565b50505b8101908080519350508415915061438a905057806142ed6001600160a01b03821663ec5568896040518163ffffffff1660e01b8152600401602060405180830381868061427c614bf5565b1580156142915760008061428e614b2f565b50505b505a61429b614c41565b50505050501580156142ba573d6000803e3d60006142b7614b2f565b50505b505050506040513d60208110156142d9576000806142d6614b2f565b50505b81019080805192508891508990508a614a5f565b9250816001600160a01b031663867904b484886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614341614bf5565b15801561435657600080614353614b2f565b50505b505a614360614d2c565b505050505050158015614380573d6000803e3d600061437d614b2f565b50505b5050505050614420565b806001600160a01b031663867904b485876040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806143dc614bf5565b1580156143f1576000806143ee614b2f565b50505b505a6143fb614d2c565b50505050505015801561441b573d6000803e3d6000614418614b2f565b50505b505050505b50979650505050505050565b6000610f8066119959541bdbdb60ca1b61321d565b6000631cd554d160e21b835114806144635750631cd554d160e21b6020840151145b9050600081614473576003614476565b60025b60ff1690506060816040519080825280602002602001820160405280156144a7578160200160208202803883390190505b5090508451816000815181106144b957fe5b60209081029190910101528460016020020151816001815181106144d957fe5b602002602001018181525050606082604051908082528060200260200182016040528015614511578160200160208202803883390190505b50905084518160008151811061452357fe5b602090810291909101015284600160200201518160018151811061454357fe5b6020026020010181815250508361463757631cd554d160e21b8260028151811061456957fe5b60200260200101818152505073__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806145b4614bf5565b1580156145c9576000806145c6614b2f565b50505b505a6145d3614f17565b50505050501580156145f2573d6000803e3d60006145ef614b2f565b50505b505050506040513d60208110156146115760008061460e614b2f565b50505b8101908080519250839150600290508151811061462a57fe5b6020026020010181815250505b61463f613cd8565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156146a257808201518382015260200161468a565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156146e15780820151838201526020016146c9565b5050505090500194505050505060006040518083038160008780614703614bf5565b15801561471857600080614715614b2f565b50505b505a614722614d2c565b505050505050158015614742573d6000803e3d600061473f614b2f565b50505b50505050505050505050565b6000614758611d3f565b90506000816001600160a01b0316637a018a1e886040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061479e614bf5565b1580156147b3576000806147b0614b2f565b50505b505a6147bd614c41565b50505050501580156147dc573d6000803e3d60006147d9614b2f565b50505b505050506040513d60208110156147fb576000806147f8614b2f565b50505b81019080805193506000925050506001600160a01b038316637a018a1e876040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061484b614bf5565b1580156148605760008061485d614b2f565b50505b505a61486a614c41565b5050505050158015614889573d6000803e3d6000614886614b2f565b50505b505050506040513d60208110156148a8576000806148a5614b2f565b50505b81019080805193506148bd9250611c87915050565b6001600160a01b0316633ca9d85c8a8a8a8a8a8a5a6148da614e86565b8a8a6040516001600160e01b031960e08c901b1681526001600160a01b0390991660048a0152602489019790975260448801959095526064870193909352608486019190915260a485015260c484015260e4830152610104820152610124016000604051808303816000878061494e614bf5565b15801561496357600080614960614b2f565b50505b505a61496d614d2c565b50505050505015801561498d573d6000803e3d600061498a614b2f565b50505b50505050886001600160a01b03167f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce94623988989898989888860405196875260208701959095526040808701949094526060860192909252608085015260a084015260c083019190915260e0909101905180910390a2505050505050505050565b600061070682614a2985670de0b6b3a764000063ffffffff6138e216565b9063ffffffff614abd16565b6000670de0b6b3a7640000614a50848463ffffffff6138e216565b81614a5757fe5b049392505050565b600060405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000604482015260640160405180910390614ab3614b2f565b5050949350505050565b6000808211614b1b5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390614b18614b2f565b50505b6000828481614b2657fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614b67578086015182820160400152602001614b4c565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561194757600082820152602001614bde565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bde565b638540661f598160e01b8152614c72565b8080831115610709575090919050565b8080831015610709575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015614caa578088015182820152602001614c92565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059614cff8d3d614c62565b8c01614d0b8187614c52565b5b82811015614d205760008152602001614d0c565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015614d70578089015182820152602001614d58565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059614dc58e3d614c62565b8d01614dd18187614c52565b5b82811015614de65760008152602001614dd2565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614bde565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bde565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bde565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b63ffe73914598160e01b8152614c7256fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64", + "bytecode": "60806040523480156200001c57600080620000196200018a565b50505b506040516200530638038062005306833981810160405260408110156200004d576000806200004a6200018a565b50505b81019080805192919060200180519250829150819050836001600160a01b038116620000ca5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c76200018a565b50505b806000600181620000da620001f7565b816001600160a01b0302191690836001600160a01b0316021790620000fe62000259565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15080600260018162000159620001f7565b816001600160a01b0302191690836001600160a01b03160217906200017d62000259565b50505050505050620002a8565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c4578086015182820160400152602001620001a7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000254576000828201526020016200023b565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023b565b61504e80620002b86000396000f3fe608060405234801561001957600080610016614b45565b50505b50600436106101975760003560e01c806353a47bb7116100e757806389257117116100a0578063c193f0d81161007a578063c193f0d814610583578063ce0969401461058b578063d6f32e06146105b7578063f450aa34146105ec57610197565b80638925711714610518578063899ffef4146105205780638da5cb5b1461057b57610197565b806353a47bb7146104ac57806357af302c146104b4578063614d08f8146104da57806374185360146104e257806379ba5097146104ea5780637dd1a57a146104f257610197565b80631b16802c11610154578063372a395a1161012e578063372a395a146103cf5780633fa70f45146103d75780634c268fc8146103df5780634f8633d21461042057610197565b80631b16802c146102ec57806324286df0146103215780632af64bd3146103b357610197565b806304f3bcec146101a5578063059c29ec146101c95780630b9e31c9146102105780631627540c1461023857806319d5c665146102675780631a5c6095146102c0575b6000806101a2614b45565b50505b6101ad61061e565b6040516001600160a01b03909116815260200160405180910390f35b6101fe600480360360408110156101e8576000806101e5614b45565b50505b506001600160a01b03813516906020013561063d565b60405190815260200160405180910390f35b6102366004803603602081101561022f5760008061022c614b45565b50505b503561070f565b005b6102366004803603602081101561025757600080610254614b45565b50505b50356001600160a01b0316610a41565b61029c6004803603604081101561028657600080610283614b45565b50505b506001600160a01b038135169060200135610abb565b60405180848152602001838152602001828152602001935050505060405180910390f35b6101fe600480360360408110156102df576000806102dc614b45565b50505b5080359060200135610ad9565b61029c6004803603604081101561030b57600080610308614b45565b50505b506001600160a01b038135169060200135610ae5565b610236600480360360208110156103405760008061033d614b45565b50505b810190602081018135600160201b81111561036357600080610360614b45565b50505b82018360208201111561037e5760008061037b614b45565b50505b803590602001918460208302840111600160201b831117156103a8576000806103a5614b45565b50505b509092509050610b8e565b6103bb610de6565b604051901515815260200160405180910390f35b6101fe610f76565b6101fe610f85565b6101fe600480360360808110156103fe576000806103fb614b45565b50505b506001600160a01b038135169060208101359060408101359060600135610f8a565b61048b60048036036101208110156104405760008061043d614b45565b50505b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013582169160c082013515159160e081013590911690610100013561111e565b6040519182526001600160a01b031660208201526040908101905180910390f35b6101ad611523565b6103bb600480360360208110156104d3576000806104d0614b45565b50505b503561152f565b6101fe611586565b610236611596565b6102366117c9565b6101fe600480360360208110156105115760008061050e614b45565b50505b503561194c565b6101fe611967565b610528611971565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561056757808201518382015260200161054f565b505050509050019250505060405180910390f35b6101ad611b28565b6103bb611b33565b610236600480360360408110156105aa576000806105a7614b45565b50505b5080359060200135611b3d565b6103bb600480360360408110156105d6576000806105d3614b45565b50505b506001600160a01b038135169060200135611c35565b61029c6004803603606081101561060b57600080610608614b45565b50505b5080359060208101359060400135611c67565b6000600261062a614bb0565b906101000a90046001600160a01b031681565b600061070661064a611c87565b6001600160a01b031663f1406dc885856040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680610699614c0b565b1580156106ae576000806106ab614b45565b50505b505a6106b8614c57565b50505050501580156106d7573d6000803e3d60006106d4614b45565b50505b505050506040513d60208110156106f6576000806106f3614b45565b50505b8101908080519250611ca2915050565b90505b92915050565b610717611d11565b6001600160a01b031663086dabd16040518163ffffffff1660e01b8152600401600060405180830381868061074a614c0b565b15801561075f5760008061075c614b45565b50505b505a610769614c57565b5050505050158015610788573d6000803e3d6000610785614b45565b50505b5050505060006001600160a01b031661079f611d2b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806107e0614c0b565b1580156107f5576000806107f2614b45565b50505b505a6107ff614c57565b505050505015801561081e573d6000803e3d600061081b614b45565b50505b505050506040513d602081101561083d5760008061083a614b45565b50505b8101908080516001600160a01b03169390931415925061089f9150505760405162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b60448201526064016040518091039061089c614b45565b50505b610959816108ab611d3f565b6001600160a01b031663ac82f608846040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806108ec614c0b565b158015610901576000806108fe614b45565b50505b505a61090b614c57565b505050505015801561092a573d6000803e3d6000610927614b45565b50505b505050506040513d602081101561094957600080610946614b45565b50505b8101908080519250611d5a915050565b6109a95760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b6044820152606401604051809103906109a6614b45565b50505b6109b1611d11565b6001600160a01b031663abc0bb6e8260416040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806109fb614c0b565b158015610a1057600080610a0d614b45565b50505b505a610a1a614d42565b505050505050158015610a3a573d6000803e3d6000610a37614b45565b50505b5050505050565b610a49612018565b8060018080610a56614bb0565b816001600160a01b0302191690836001600160a01b0316021790610a78614e08565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000806000610aca8585612092565b50919790965090945092505050565b600061070683836123bb565b6000806000610af2611d11565b6001600160a01b03166342a28e21856040516001600160e01b031960e084901b16815260048101919091526024016000604051808303818680610b33614c0b565b158015610b4857600080610b45614b45565b50505b505a610b52614c57565b5050505050158015610b71573d6000803e3d6000610b6e614b45565b50505b50505050610b8185856001612479565b9250925092509250925092565b610b96612018565b60606000610ba2611d3f565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b8152600401808060200182810382528484828181526020019250602002808284376000838201819052601f909101601f1916909201955090935060409250505051808303818680610c0e614c0b565b158015610c2357600080610c20614b45565b50505b505a610c2d614c57565b5050505050158015610c4c573d6000803e3d6000610c49614b45565b50505b505050506040513d6000823e601f3d908101601f191682016040908152811015610c7e57600080610c7b614b45565b50505b8101908080516040519392919084600160201b821115610ca657600080610ca3614b45565b50505b908301906020820185811115610cc457600080610cc1614b45565b50505b82518660208202830111600160201b82111715610ce957600080610ce6614b45565b50505b825250602001908051906020019060200280838360005b83811015610d18578082015183820152602001610d00565b5050505090500160405260200180519395509293505082159150610d8d90505760405162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015260640160405180910390610d8a614b45565b50505b60005b83811015610a3a57828181518110610da457fe5b602002602001015160046000878785818110610dbc57fe5b9050602002013581526020019081526020016000208190610ddb614e08565b505050600101610d90565b60006060610df2611971565b905060005b8151811015610f6c576000828281518110610e0e57fe5b60200260200101516000818152600360205290915060409020600090610e32614bb0565b6001600160a01b036101009290920a90041660006002610e50614bb0565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610ea1614c0b565b158015610eb657600080610eb3614b45565b50505b505a610ec0614c57565b5050505050158015610edf573d6000803e3d6000610edc614b45565b50505b505050506040513d6020811015610efe57600080610efb614b45565b50505b8101908080516001600160a01b031693909314159250829150610f52905057506000818152600360205260408120600090610f37614bb0565b906101000a90046001600160a01b03166001600160a01b0316145b15610f635760009350505050610f73565b50600101610df7565b5060019150505b90565b6000610f80612855565b905090565b604181565b816000610f95611d2b565b6001600160a01b03166332608039866040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610fd6614c0b565b158015610feb57600080610fe8614b45565b50505b505a610ff5614c57565b5050505050158015611014573d6000803e3d6000611011614b45565b50505b505050506040513d602081101561103357600080611030614b45565b50505b8101908080516001600160a01b031692506370a0823191508890506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611088614c0b565b15801561109d5760008061109a614b45565b50505b505a6110a7614c57565b50505050501580156110c6573d6000803e3d60006110c3614b45565b50505b505050506040513d60208110156110e5576000806110e2614b45565b50505b8101908080519350505050808211156110fc578091505b821561111557611112828463ffffffff61294216565b91505b50949350505050565b600080600061112b6129aa565b9050806001600160a01b03165a611140614e56565b6001600160a01b03161480611211575060006001600160a01b0382166316b2213f5a61116a614e56565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806111a4614c0b565b1580156111b9576000806111b6614b45565b50505b505a6111c3614c57565b50505050501580156111e2573d6000803e3d60006111df614b45565b50505b505050506040513d6020811015611201576000806111fe614b45565b50505b8101908080519390931415925050505b6112555760405162461bcd60e51b8152600401808060200182810382526045815260200180614f746045913960600191505060405180910390611252614b45565b50505b60008c6001600160a01b03168c6001600160a01b03161461138a576112786129c1565b6001600160a01b031663faf431bb8e8e6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186806112c9614c0b565b1580156112de576000806112db614b45565b50505b505a6112e8614c57565b5050505050158015611307573d6000803e3d6000611304614b45565b50505b505050506040513d602081101561132657600080611323614b45565b50505b810190808051925061138a9150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015260640160405180910390611387614b45565b50505b6113988d8c8c8c8c8c6129e0565b919550909350905080158015906113b757506001600160a01b03861615155b80156113c657506113c6612ef3565b15611469576113d3612f6d565b6001600160a01b03166321cad77482886040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038160008780611425614c0b565b15801561143a57600080611437614b45565b50505b505a611444614d42565b505050505050158015611464573d6000803e3d6000611461614b45565b50505b505050505b8415611513576114776129aa565b6001600160a01b0316632d3169eb868b87856040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526064820152608401600060405180830381600087806114cf614c0b565b1580156114e4576000806114e1614b45565b50505b505a6114ee614d42565b50505050505015801561150e573d6000803e3d600061150b614b45565b50505b505050505b5050995099975050505050505050565b6000600161062a614bb0565b600061157e8261153d611d3f565b6001600160a01b031663ac82f608856040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806108ec614c0b565b90505b919050565b6822bc31b430b733b2b960b91b81565b60606115a0611971565b905060005b81518110156117c55760008282815181106115bc57fe5b6020026020010151905060008060026115d3614bb0565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611688578082015183820152602001611670565b50505050905090810190601f1680156116b55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186806116ce614c0b565b1580156116e3576000806116e0614b45565b50505b505a6116ed614c57565b505050505015801561170c573d6000803e3d6000611709614b45565b50505b505050506040513d602081101561172b57600080611728614b45565b50505b8101908080516000868152600360205290945084935060409250905020600181611753614bb0565b816001600160a01b0302191690836001600160a01b0316021790611775614e08565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a150506001016115a5565b5050565b600060016117d5614bb0565b906101000a90046001600160a01b03166001600160a01b03165a6117f7614e56565b6001600160a01b0316146118455760405162461bcd60e51b8152600401808060200182810382526035815260200180614f3f6035913960400191505060405180910390611842614b45565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611871614bb0565b906101000a90046001600160a01b0316600160009061188e614bb0565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016118cd614bb0565b906101000a90046001600160a01b03166000806101000a816118ed614bb0565b816001600160a01b0302191690836001600160a01b031602179061190f614e08565b5050506000600160006101000a81611925614bb0565b816001600160a01b0302191690836001600160a01b0316021790611947614e08565b505050565b60046020528060005260406000209050611964614bb0565b81565b6000610f80612f89565b60608061197c612fff565b9050606060096040519080825280602002602001820160405280156119ab578160200160208202803883390190505b5090506b53797374656d53746174757360a01b816000815181106119cb57fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106119f557fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611a1f57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600381518110611a4557fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110611a6957fe5b6020026020010181815250506d54726164696e675265776172647360901b81600581518110611a9457fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110611ac257fe5b6020026020010181815250506524b9b9bab2b960d11b81600781518110611ae557fe5b6020026020010181815250506844656274436163686560b81b81600881518110611b0b57fe5b602002602001018181525050611b21828261305e565b9250505090565b60008061062a614bb0565b6000610f80612ef3565b6000611b47611d3f565b9050806001600160a01b03165a611b5c614e56565b6001600160a01b031614611bbf5760405162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015260640160405180910390611bbc614b45565b50505b60008211611c135760405162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015260640160405180910390611c10614b45565b50505b600083815260046020528290604090208190611c2d614e08565b505050505050565b6000611c41838361063d565b15611c4e57506001610709565b6000611c5a8484612092565b5050501515949350505050565b6000806000611c7786868661311a565b5092999198509650945050505050565b6000610f806c45786368616e6765537461746560981b613233565b600080611cad612f89565b9050821580611cd35750611cc7838263ffffffff61294216565b5a611cd0614e9c565b10155b15611ce2576000915050611581565b611d0a5a611cee614e9c565b611cfe858463ffffffff61294216565b9063ffffffff61333416565b9392505050565b6000610f806b53797374656d53746174757360a01b613233565b6000610f806524b9b9bab2b960d11b613233565b6000610f806c45786368616e6765526174657360981b613233565b600081611d6957506001610709565b6000838152600460205260408120611d7f614bb0565b90508015611d9957611d918184613399565b915050610709565b6060611da3611d3f565b6001600160a01b0316632d7371e18660046040516001600160e01b031960e085901b168152600481019290925260248201526044016000604051808303818680611deb614c0b565b158015611e0057600080611dfd614b45565b50505b505a611e0a614c57565b5050505050158015611e29573d6000803e3d6000611e26614b45565b50505b505050506040513d6000823e601f3d908101601f191682016040908152811015611e5b57600080611e58614b45565b50505b8101908080516040519392919084600160201b821115611e8357600080611e80614b45565b50505b908301906020820185811115611ea157600080611e9e614b45565b50505b82518660208202830111600160201b82111715611ec657600080611ec3614b45565b50505b825250602001908051906020019060200280838360005b83811015611ef5578082015183820152602001611edd565b5050505090500160405260200180516040519392919084600160201b821115611f2657600080611f23614b45565b50505b908301906020820185811115611f4457600080611f41614b45565b50505b82518660208202830111600160201b82111715611f6957600080611f66614b45565b50505b825250602001908051906020019060200280838360005b83811015611f98578082015183820152602001611f80565b505050509050016040525050505090506000600190505b815181101561200c576000828281518110611fc657fe5b6020026020010151118015611ff35750611ff3828281518110611fe557fe5b602002602001015186613399565b156120045760019350505050610709565b600101611faf565b50600095945050505050565b600080612023614bb0565b906101000a90046001600160a01b03166001600160a01b03165a612045614e56565b6001600160a01b0316146120905760405162461bcd60e51b815260040180806020018281038252602f815260200180614fb9602f9139604001915050604051809103906117c5614b45565b565b600080600060606120a1611c87565b6001600160a01b031663b44e975387876040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186806120f0614c0b565b15801561210557600080612102614b45565b50505b505a61210f614c57565b505050505015801561212e573d6000803e3d600061212b614b45565b50505b505050506040513d602081101561214d5760008061214a614b45565b50505b810190808051945060609250849150604090505190808252806020026020018201604052801561219757816020015b612184614ee2565b81526020019060019003908161217c5790505b50905060005b838110156123af576000806121b0614ee2565b6121bb8b8b866133f8565b90506000806121c98361356a565b9150915060006121d7611d3f565b6001600160a01b031663266da16b85518660200151876040015187876040516001600160e01b031960e088901b1681526004810195909552602485019390935260448401919091526064830152608482015260a401602060405180830381868061223f614c0b565b15801561225457600080612251614b45565b50505b505a61225e614c57565b505050505015801561227d573d6000803e3d600061227a614b45565b50505b505050506040513d602081101561229c57600080612299614b45565b50505b8101908080519350600092506122ba91508390506080870151613721565b90506122ca856060015182613399565b61233e578085606001511115612308576122ef8186606001519063ffffffff61333416565b96506123018d8863ffffffff61294216565b9c5061233e565b846060015181111561233e576123298560600151829063ffffffff61333416565b955061233b8c8763ffffffff61294216565b9b505b6040516101008101604052808651815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151905289898151811061239057fe5b602002602001018190525050505050505050808060010191505061219d565b50905092959194509250565b60006123c6826137ea565b9050631cd554d160e21b8314806123e35750631cd554d160e21b82145b156123ed57610709565b607360f81b6001600160f81b0319600085901a60f81b161480156124255750606960f81b6001600160f81b0319600084901a60f81b16145b806124635750606960f81b6001600160f81b0319600085901a60f81b161480156124635750607360f81b6001600160f81b0319600084901a60f81b16145b156107095761070681600263ffffffff6138f816565b6000806000612488868661063d565b156124cd5760405162461bcd60e51b815260040180806020018281038252602381526020018061502b60239139604001915050604051809103906124ca614b45565b50505b600080600060606124de8a8a612092565b935093509350935082841115612510576124fe848463ffffffff61333416565b965061250b8a8a89613957565b612535565b8383111561253557612528838563ffffffff61333416565b95506125358a8a88613b46565b87801561254c5750600087118061254c5750600086115b15612666576060600160405190808252806020026020018201604052801561257e578160200160208202803883390190505b509050898160008151811061258f57fe5b6020026020010181815250506125a3613cee565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156126015780820151838201526020016125e9565b505050509050019250505060006040518083038160008780612621614c0b565b15801561263657600080612633614b45565b50505b505a612640614d42565b505050505050158015612660573d6000803e3d600061265d614b45565b50505b50505050505b60005b81518110156127a8578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e9408383815181106126a957fe5b6020026020010151518484815181106126be57fe5b6020026020010151602001518585815181106126d657fe5b6020026020010151604001518686815181106126ee57fe5b60200260200101516060015187878151811061270657fe5b60200260200101516080015188888151811061271e57fe5b602002602001015160a0015189898151811061273657fe5b602002602001015160c001518a8a8151811061274e57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612669565b508194506127b4611c87565b6001600160a01b031663d0d3d62a8b8b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612805614c0b565b15801561281a57600080612817614b45565b50505b505a612824614d42565b505050505050158015612844573d6000803e3d6000612841614b45565b50505b505050505050505093509350939050565b600061285f613d05565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806128d7614c0b565b1580156128ec576000806128e9614b45565b50505b505a6128f6614c57565b5050505050158015612915573d6000803e3d6000612912614b45565b50505b505050506040513d602081101561293457600080612931614b45565b50505b810190808051935050505090565b6000828201838110156107065760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401604051809103906129a1614b45565b50509392505050565b6000610f80680a6f2dce8d0cae8d2f60bb1b613233565b6000610f807044656c6567617465417070726f76616c7360781b613233565b60008060006129f0888888613d22565b60006129fd888b8b613f58565b905080612a14575060009250829150819050612ee7565b6000806000612a24848d8c61311a565b939a50919850945092509050612a3a8c83613f8e565b80612a4a5750612a4a8a82613f8e565b15612a63575060009550859450849350612ee792505050565b612a728c8e868d8b8e8e614057565b94506001600160a01b03851615612a87578498505b8515612dd557612a95611d3f565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016020604051808303818680612aec614c0b565b158015612b0157600080612afe614b45565b50505b505a612b0b614c57565b5050505050158015612b2a573d6000803e3d6000612b27614b45565b50505b505050506040513d6020811015612b4957600080612b46614b45565b50505b8101908080519850612b5e9250611d2b915050565b6001600160a01b03166332608039631cd554d160e21b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680612ba6614c0b565b158015612bbb57600080612bb8614b45565b50505b505a612bc5614c57565b5050505050158015612be4573d6000803e3d6000612be1614b45565b50505b505050506040513d6020811015612c0357600080612c00614b45565b50505b8101908080516001600160a01b0316925063867904b49150612c259050614442565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b81526004016020604051808303818680612c58614c0b565b158015612c6d57600080612c6a614b45565b50505b505a612c77614c57565b5050505050158015612c96573d6000803e3d6000612c93614b45565b50505b505050506040513d6020811015612cb557600080612cb2614b45565b50505b81019080805192508a915060409050516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612d03614c0b565b158015612d1857600080612d15614b45565b50505b505a612d22614d42565b505050505050158015612d42573d6000803e3d6000612d3f614b45565b50505b50505050612d4e614442565b6001600160a01b03166322bf55ef876040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780612d91614c0b565b158015612da657600080612da3614b45565b50505b505a612db0614d42565b505050505050158015612dd0573d6000803e3d6000612dcd614b45565b50505b505050505b612e04604051604080820181528e8252602082018d905251806040016040528085815260200184815250614457565b612e0c6129aa565b6001600160a01b0316636c00f3108e8e878e8c8f6040516001600160e01b031960e089901b1681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152608483015290911660a482015260c40160006040518083038160008780612e81614c0b565b158015612e9657600080612e93614b45565b50505b505a612ea0614d42565b505050505050158015612ec0573d6000803e3d6000612ebd614b45565b50505b505050506000612ece612f89565b1115612ee257612ee2898d868d8b88614764565b505050505b96509650969350505050565b6000612efd613d05565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806128d7614c0b565b6000610f806d54726164696e675265776172647360901b613233565b6000612f93613d05565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806128d7614c0b565b6060600160405190808252806020026020018201604052801561302c578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061304f57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561308e578160200160208202803883390190505b50905060005b83518110156130d0578381815181106130a957fe5b60200260200101518282815181106130bd57fe5b6020908102919091010152600101613094565b5060005b8251811015613113578281815181106130e957fe5b602002602001015182828651018151811061310057fe5b60209081029190910101526001016130d4565b5092915050565b60008060008060008061312b611d3f565b6001600160a01b0316638295016a898b8a6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401606060405180830381868061317b614c0b565b1580156131905760008061318d614b45565b50505b505a61319a614c57565b50505050501580156131b9573d6000803e3d60006131b6614b45565b50505b505050506040513d60608110156131d8576000806131d5614b45565b50505b8101908080519291906020018051929190602001805193975092955092935061320792508a91508990506123bb565b93506132138185613721565b9550613225818763ffffffff61333416565b945050939792965093509350565b60008181526003602052806040812060009061324d614bb0565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906131135760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156132ea5780820151838201526020016132d2565b50505050905090810190601f1680156133175780820380516001836020036101000a031916815260200191505b50925050506040518091039061332b614b45565b50505092915050565b6000828211156133935760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390613390614b45565b50505b50900390565b60008215806133a6575081155b156133b357506001610709565b6000838311156133d4576133cd838563ffffffff614a2116565b90506133e7565b6133e4848463ffffffff614a2116565b90505b6133ef612855565b11159392505050565b613400614ee2565b600080600080600080600080613414611c87565b6001600160a01b03166315987eb68d8d8d6040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640161010060405180830381868061346d614c0b565b1580156134825760008061347f614b45565b50505b505a61348c614c57565b50505050501580156134ab573d6000803e3d60006134a8614b45565b50505b505050506040513d6101008110156134cb576000806134c8614b45565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051929190602001805192919060200180519291906020018051906020019092919050505097509750975097509750975097509750604051610100810160409081529881526020810197909752968601949094526060850192909252608084015260a083015260c082015260e0810191909152949350505050565b6000806000613577611d3f565b90506000613583612f89565b90506001600160a01b03821663109e46a286518760c001518860a00151856040516001600160e01b031960e087901b168152600481019490945260248401929092526044830152606482015260840160206040518083038186806135e5614c0b565b1580156135fa576000806135f7614b45565b50505b505a613604614c57565b5050505050158015613623573d6000803e3d6000613620614b45565b50505b505050506040513d60208110156136425760008061363f614b45565b50505b810190808051965050506001600160a01b038316905063109e46a260408701518760e001518860a00151856040516001600160e01b031960e087901b168152600481019490945260248401929092526044830152606482015260840160206040518083038186806136b1614c0b565b1580156136c6576000806136c3614b45565b50505b505a6136d0614c57565b50505050501580156136ef573d6000803e3d60006136ec614b45565b50505b505050506040513d602081101561370e5760008061370b614b45565b50505b8101908080519698969750505050505050565b60006107066137dd8373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680613769614c0b565b15801561377e5760008061377b614b45565b50505b505a613788614f2d565b50505050501580156137a7573d6000803e3d60006137a4614b45565b50505b505050506040513d60208110156137c6576000806137c3614b45565b50505b8101908080519392505063ffffffff613334169050565b849063ffffffff614a4b16565b60006137f4613d05565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381868061388c614c0b565b1580156138a15760008061389e614b45565b50505b505a6138ab614c57565b50505050501580156138ca573d6000803e3d60006138c7614b45565b50505b505050506040513d60208110156138e9576000806138e6614b45565b50505b81019080805195945050505050565b60008261390757506000610709565b8282028284828161391457fe5b04146107065760405162461bcd60e51b8152600401808060200182810382526021815260200180614fe860219139604001915050604051809103906129a1614b45565b61395f611d2b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806139a0614c0b565b1580156139b5576000806139b2614b45565b50505b505a6139bf614c57565b50505050501580156139de573d6000803e3d60006139db614b45565b50505b505050506040513d60208110156139fd576000806139fa614b45565b50505b8101908080516001600160a01b03169250639dc29fac9150859050836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613a5a614c0b565b158015613a6f57600080613a6c614b45565b50505b505a613a79614d42565b505050505050158015613a99573d6000803e3d6000613a96614b45565b50505b50505050613aa56129aa565b6001600160a01b031663ace88afd8484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780613aff614c0b565b158015613b1457600080613b11614b45565b50505b505a613b1e614d42565b505050505050158015610a37573d6000803e3d6000613b3b614b45565b505050505050505050565b613b4e611d2b565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680613b8f614c0b565b158015613ba457600080613ba1614b45565b50505b505a613bae614c57565b5050505050158015613bcd573d6000803e3d6000613bca614b45565b50505b505050506040513d6020811015613bec57600080613be9614b45565b50505b8101908080516001600160a01b0316925063867904b49150859050836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613c49614c0b565b158015613c5e57600080613c5b614b45565b50505b505a613c68614d42565b505050505050158015613c88573d6000803e3d6000613c85614b45565b50505b50505050613c946129aa565b6001600160a01b0316636f01a9868484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780613aff614c0b565b6000610f806844656274436163686560b81b613233565b6000610f806e466c657869626c6553746f7261676560881b613233565b80831415613d755760405162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015260640160405180910390613d72614b45565b50505b60008211613dc05760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015260640160405180910390613dbd614b45565b50505b60606002604051908082528060200260200182016040528015613ded578160200160208202803883390190505b5090508381600081518110613dfe57fe5b6020026020010181815250508181600181518110613e1857fe5b602002602001018181525050613e2c611d3f565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015613e8a578082015183820152602001613e72565b50505050905001925050506020604051808303818680613ea8614c0b565b158015613ebd57600080613eba614b45565b50505b505a613ec7614c57565b5050505050158015613ee6573d6000803e3d6000613ee3614b45565b50505b505050506040513d6020811015613f0557600080613f02614b45565b50505b810190808051159250613f529150505760405162461bcd60e51b81526004018080602001828103825260228152602001806150096022913960400191505060405180910390611c2d614b45565b50505050565b6000806000613f6985856000612479565b88955090935091505080156129a157613f8485858885610f8a565b9695505050505050565b6000613f9a8383611d5a565b1561403d57613fa7611d11565b6001600160a01b031663abc0bb6e8460416040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780613ff1614c0b565b15801561400657600080614003614b45565b50505b505a614010614d42565b505050505050158015614030573d6000803e3d600061402d614b45565b50505b5050505060019050610709565b60008381526004602052829060409020819061332b614e08565b6000614061611d2b565b6001600160a01b03166332608039896040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806140a2614c0b565b1580156140b7576000806140b4614b45565b50505b505a6140c1614c57565b50505050501580156140e0573d6000803e3d60006140dd614b45565b50505b505050506040513d60208110156140ff576000806140fc614b45565b50505b8101908080516001600160a01b03169250639dc29fac9150899050886040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061415c614c0b565b1580156141715760008061416e614b45565b50505b505a61417b614d42565b50505050505015801561419b573d6000803e3d6000614198614b45565b50505b5050505060006141a9611d2b565b6001600160a01b03166332608039876040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806141ea614c0b565b1580156141ff576000806141fc614b45565b50505b505a614209614c57565b5050505050158015614228573d6000803e3d6000614225614b45565b50505b505050506040513d602081101561424757600080614244614b45565b50505b810190808051935050841591506143a0905057806143036001600160a01b03821663ec5568896040518163ffffffff1660e01b81526004016020604051808303818680614292614c0b565b1580156142a7576000806142a4614b45565b50505b505a6142b1614c57565b50505050501580156142d0573d6000803e3d60006142cd614b45565b50505b505050506040513d60208110156142ef576000806142ec614b45565b50505b81019080805192508891508990508a614a75565b9250816001600160a01b031663867904b484886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614357614c0b565b15801561436c57600080614369614b45565b50505b505a614376614d42565b505050505050158015614396573d6000803e3d6000614393614b45565b50505b5050505050614436565b806001600160a01b031663867904b485876040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806143f2614c0b565b15801561440757600080614404614b45565b50505b505a614411614d42565b505050505050158015614431573d6000803e3d600061442e614b45565b50505b505050505b50979650505050505050565b6000610f8066119959541bdbdb60ca1b613233565b6000631cd554d160e21b835114806144795750631cd554d160e21b6020840151145b905060008161448957600361448c565b60025b60ff1690506060816040519080825280602002602001820160405280156144bd578160200160208202803883390190505b5090508451816000815181106144cf57fe5b60209081029190910101528460016020020151816001815181106144ef57fe5b602002602001018181525050606082604051908082528060200260200182016040528015614527578160200160208202803883390190505b50905084518160008151811061453957fe5b602090810291909101015284600160200201518160018151811061455957fe5b6020026020010181815250508361464d57631cd554d160e21b8260028151811061457f57fe5b60200260200101818152505073__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806145ca614c0b565b1580156145df576000806145dc614b45565b50505b505a6145e9614f2d565b5050505050158015614608573d6000803e3d6000614605614b45565b50505b505050506040513d602081101561462757600080614624614b45565b50505b8101908080519250839150600290508151811061464057fe5b6020026020010181815250505b614655613cee565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156146b85780820151838201526020016146a0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156146f75780820151838201526020016146df565b5050505090500194505050505060006040518083038160008780614719614c0b565b15801561472e5760008061472b614b45565b50505b505a614738614d42565b505050505050158015614758573d6000803e3d6000614755614b45565b50505b50505050505050505050565b600061476e611d3f565b90506000816001600160a01b0316637a018a1e886040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806147b4614c0b565b1580156147c9576000806147c6614b45565b50505b505a6147d3614c57565b50505050501580156147f2573d6000803e3d60006147ef614b45565b50505b505050506040513d60208110156148115760008061480e614b45565b50505b81019080805193506000925050506001600160a01b038316637a018a1e876040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680614861614c0b565b15801561487657600080614873614b45565b50505b505a614880614c57565b505050505015801561489f573d6000803e3d600061489c614b45565b50505b505050506040513d60208110156148be576000806148bb614b45565b50505b81019080805193506148d39250611c87915050565b6001600160a01b0316633ca9d85c8a8a8a8a8a8a5a6148f0614e9c565b8a8a6040516001600160e01b031960e08c901b1681526001600160a01b0390991660048a0152602489019790975260448801959095526064870193909352608486019190915260a485015260c484015260e48301526101048201526101240160006040518083038160008780614964614c0b565b15801561497957600080614976614b45565b50505b505a614983614d42565b5050505050501580156149a3573d6000803e3d60006149a0614b45565b50505b50505050886001600160a01b03167f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce94623988989898989888860405196875260208701959095526040808701949094526060860192909252608085015260a084015260c083019190915260e0909101905180910390a2505050505050505050565b600061070682614a3f85670de0b6b3a764000063ffffffff6138f816565b9063ffffffff614ad316565b6000670de0b6b3a7640000614a66848463ffffffff6138f816565b81614a6d57fe5b049392505050565b600060405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000604482015260640160405180910390614ac9614b45565b5050949350505050565b6000808211614b315760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390614b2e614b45565b50505b6000828481614b3c57fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614b7d578086015182820160400152602001614b62565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561194757600082820152602001614bf4565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bf4565b638540661f598160e01b8152614c88565b8080831115610709575090919050565b8080831015610709575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015614cc0578088015182820152602001614ca8565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059614d158d3d614c78565b8c01614d218187614c68565b5b82811015614d365760008152602001614d22565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015614d86578089015182820152602001614d6e565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059614ddb8e3d614c78565b8d01614de78187614c68565b5b82811015614dfc5760008152602001614de8565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614bf4565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bf4565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bf4565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b63ffe73914598160e01b8152614c8856fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64", "abi": [ { "inputs": [ @@ -16440,8 +16719,7 @@ ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "constructor" }, { "anonymous": false, @@ -16460,8 +16738,7 @@ } ], "name": "CacheUpdated", - "type": "event", - "signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68" + "type": "event" }, { "anonymous": false, @@ -16516,8 +16793,7 @@ } ], "name": "ExchangeEntryAppended", - "type": "event", - "signature": "0x62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398" + "type": "event" }, { "anonymous": false, @@ -16578,8 +16854,7 @@ } ], "name": "ExchangeEntrySettled", - "type": "event", - "signature": "0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940" + "type": "event" }, { "anonymous": false, @@ -16598,8 +16873,7 @@ } ], "name": "OwnerChanged", - "type": "event", - "signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + "type": "event" }, { "anonymous": false, @@ -16612,8 +16886,7 @@ } ], "name": "OwnerNominated", - "type": "event", - "signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22" + "type": "event" }, { "constant": true, @@ -16628,8 +16901,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x3fa70f45" + "type": "function" }, { "constant": true, @@ -16644,8 +16916,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x614d08f8" + "type": "function" }, { "constant": false, @@ -16654,8 +16925,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x79ba5097" + "type": "function" }, { "constant": true, @@ -16691,8 +16961,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x4c268fc8" + "type": "function" }, { "constant": false, @@ -16758,8 +17027,7 @@ ], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4f8633d2" + "type": "function" }, { "constant": true, @@ -16785,8 +17053,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x1a5c6095" + "type": "function" }, { "constant": true, @@ -16827,8 +17094,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xf450aa34" + "type": "function" }, { "constant": true, @@ -16854,8 +17120,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xd6f32e06" + "type": "function" }, { "constant": true, @@ -16870,8 +17135,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x2af64bd3" + "type": "function" }, { "constant": true, @@ -16892,8 +17156,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x57af302c" + "type": "function" }, { "constant": true, @@ -16914,8 +17177,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x7dd1a57a" + "type": "function" }, { "constant": true, @@ -16941,8 +17203,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x059c29ec" + "type": "function" }, { "constant": false, @@ -16957,8 +17218,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1627540c" + "type": "function" }, { "constant": true, @@ -16973,8 +17233,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x53a47bb7" + "type": "function" }, { "constant": true, @@ -16989,8 +17248,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x8da5cb5b" + "type": "function" }, { "constant": true, @@ -17005,8 +17263,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x372a395a" + "type": "function" }, { "constant": false, @@ -17015,8 +17272,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x74185360" + "type": "function" }, { "constant": false, @@ -17031,8 +17287,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x24286df0" + "type": "function" }, { "constant": true, @@ -17047,8 +17302,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x04f3bcec" + "type": "function" }, { "constant": true, @@ -17063,8 +17317,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x899ffef4" + "type": "function" }, { "constant": false, @@ -17084,8 +17337,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xce096940" + "type": "function" }, { "constant": false, @@ -17121,8 +17373,7 @@ ], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1b16802c" + "type": "function" }, { "constant": true, @@ -17158,8 +17409,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x19d5c665" + "type": "function" }, { "constant": false, @@ -17174,8 +17424,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x0b9e31c9" + "type": "function" }, { "constant": true, @@ -17190,8 +17439,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xc193f0d8" + "type": "function" }, { "constant": true, @@ -17206,15 +17454,14 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x89257117" + "type": "function" } ], "source": { - "keccak256": "0x626a78aab5f5410a43251c080cdf8ac42dc23f9c962e097bcf4ae97799cd8003", + "keccak256": "0xa4c48741eeabce33c7af55d188b5fcd9240ed65c149856fdc68084458889d325", "urls": [ - "bzz-raw://786b6c77769a2084200a69b61a601515911de5c3bd624b71825c6faf4a791c7b", - "dweb:/ipfs/Qmbo6Sd1Eep9LGsVJLxF7AQiTjecVy7rmFg8bZYwoYC4gs" + "bzz-raw://d284b5624cfe2964d8e876038d04c78043c789b9523b6529d9daad31317da59d", + "dweb:/ipfs/QmXuep92Tmjr6xFncCvpFaAS3nPsvDJJYDmh1MpVJfDbJF" ] }, "metadata": { @@ -17236,10 +17483,10 @@ }, "sources": { "Exchanger.sol": { - "keccak256": "0x626a78aab5f5410a43251c080cdf8ac42dc23f9c962e097bcf4ae97799cd8003", + "keccak256": "0xa4c48741eeabce33c7af55d188b5fcd9240ed65c149856fdc68084458889d325", "urls": [ - "bzz-raw://786b6c77769a2084200a69b61a601515911de5c3bd624b71825c6faf4a791c7b", - "dweb:/ipfs/Qmbo6Sd1Eep9LGsVJLxF7AQiTjecVy7rmFg8bZYwoYC4gs" + "bzz-raw://d284b5624cfe2964d8e876038d04c78043c789b9523b6529d9daad31317da59d", + "dweb:/ipfs/QmXuep92Tmjr6xFncCvpFaAS3nPsvDJJYDmh1MpVJfDbJF" ] } }, @@ -17740,7 +17987,7 @@ } }, "IssuerWithoutLiquidations": { - "bytecode": "60806040523480156200001c57600080620000196200018e565b50505b506040516200563138038062005631833981810160405260408110156200004d576000806200004a6200018e565b50505b810190808051929190602001805192508391508290508080836001600160a01b038116620000cc5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c96200018e565b50505b806000600181620000dc620001fb565b816001600160a01b0302191690836001600160a01b0316021790620001006200025d565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1508060026001816200015b620001fb565b816001600160a01b0302191690836001600160a01b03160217906200017f6200025d565b505050505050505050620002ac565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c8578086015182820160400152602001620001ab565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000258576000828201526020016200023f565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023f565b61537580620002bc6000396000f3fe608060405234801561001957600080610016614ea8565b50505b506004361061025c5760003560e01c806372cb051f1161014f578063a5fdc5de116100cc578063bff4fdfc11610090578063bff4fdfc14610947578063c897713214610976578063d37c4d8b146109a5578063dbf63340146109da578063dd3d2b2e146109e2578063fd864ccf14610a115761025c565b8063a5fdc5de14610855578063a63c4df414610884578063ae3bbbbb146108db578063b06e8c651461090a578063b410a0341461093f5761025c565b8063849cf58811610113578063849cf588146107a8578063899ffef4146107d75780638da5cb5b146107df5780639a5154b4146107e7578063a311c7c2146108265761025c565b806372cb051f1461073c578063741853601461074457806379ba50971461074c5780637b1001b714610754578063835e119c146107825761025c565b806332608039116101dd5780634e99bda9116101a15780634e99bda91461064357806353a47bb71461064b578063614d08f8146106535780636bed04151461065b5780637168d2c2146106aa5761025c565b806332608039146104385780633b6afe401461045e57806344ec6b621461054357806347a9b6db14610582578063497d704a146106145761025c565b80631627540c116102245780631627540c1461037f57806316b2213f146103ae578063242df9e1146103dd5780632af64bd3146103e55780632b3f41aa146104015761025c565b8063042e06881461026a57806304f3bcec146102a157806305b3c1c9146102c55780630b887dae146103065780631137aedf1461032c575b600080610267614ea8565b50505b61029f6004803603604081101561028957600080610286614ea8565b50505b506001600160a01b038135169060200135610a48565b005b6102a9610a60565b6040516001600160a01b03909116815260200160405180910390f35b6102f4600480360360208110156102e4576000806102e1614ea8565b50505b50356001600160a01b0316610a7f565b60405190815260200160405180910390f35b61029f6004803603602081101561032557600080610322614ea8565b50505b5035610a93565b61035b6004803603602081101561034b57600080610348614ea8565b50505b50356001600160a01b0316610bc6565b60405180848152602001838152602001828152602001935050505060405180910390f35b61029f6004803603602081101561039e5760008061039b614ea8565b50505b50356001600160a01b0316610be2565b6102f4600480360360208110156103cd576000806103ca614ea8565b50505b50356001600160a01b0316610c5c565b6102f4610c77565b6103ed610c87565b604051901515815260200160405180910390f35b61029f600480360360408110156104205760008061041d614ea8565b50505b506001600160a01b0381358116916020013516610e16565b6102a96004803603602081101561045757600080610454614ea8565b50505b5035610e35565b6104f06004803603602081101561047d5760008061047a614ea8565b50505b810190602081018135600160201b8111156104a05760008061049d614ea8565b50505b8201836020820111156104bb576000806104b8614ea8565b50505b803590602001918460208302840111600160201b831117156104e5576000806104e2614ea8565b50505b509092509050610e4f565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561052f578082015183820152602001610517565b505050509050019250505060405180910390f35b61029f600480360360608110156105625760008061055f614ea8565b50505b506001600160a01b03813581169160208101359091169060400135610f02565b61029f600480360360208110156105a15760008061059e614ea8565b50505b810190602081018135600160201b8111156105c4576000806105c1614ea8565b50505b8201836020820111156105df576000806105dc614ea8565b50505b803590602001918460208302840111600160201b8311171561060957600080610606614ea8565b50505b509092509050610f25565b61029f6004803603602081101561063357600080610630614ea8565b50505b50356001600160a01b0316610ffa565b6103ed611012565b6102a96111c3565b6102f46111cf565b6106906004803603604081101561067a57600080610677614ea8565b50505b506001600160a01b0381351690602001356111dc565b604051918252151560208201526040908101905180910390f35b61029f600480360360208110156106c9576000806106c6614ea8565b50505b810190602081018135600160201b8111156106ec576000806106e9614ea8565b50505b82018360208201111561070757600080610704614ea8565b50505b803590602001918460208302840111600160201b831117156107315760008061072e614ea8565b50505b509092509050611240565b6104f0611437565b61029f611443565b61029f611672565b6102f46004803603604081101561077357600080610770614ea8565b50505b508035906020013515156117f0565b6102a9600480360360208110156107a15760008061079e614ea8565b50505b50356117fc565b61029f600480360360208110156107c7576000806107c4614ea8565b50505b50356001600160a01b0316611826565b6104f06118c6565b6102a9611b37565b61029f6004803603606081101561080657600080610803614ea8565b50505b506001600160a01b03813581169160208101359091169060400135611b42565b6102f46004803603602081101561084557600080610842614ea8565b50505b50356001600160a01b0316611b60565b6102f46004803603602081101561087457600080610871614ea8565b50505b50356001600160a01b0316611b72565b6108c3600480360360608110156108a3576000806108a0614ea8565b50505b506001600160a01b03813581169160208101359160409091013516611b7d565b60405191825260208201526040908101905180910390f35b610690600480360360208110156108fa576000806108f7614ea8565b50505b50356001600160a01b0316611b90565b61029f6004803603604081101561092957600080610926614ea8565b50505b506001600160a01b038135169060200135611ba6565b6102f4611bba565b6103ed6004803603602081101561096657600080610963614ea8565b50505b50356001600160a01b0316611bc4565b61029f6004803603602081101561099557600080610992614ea8565b50505b50356001600160a01b0316611bcf565b6102f4600480360360408110156109c4576000806109c1614ea8565b50505b506001600160a01b038135169060200135611be4565b6102f4611cd7565b6102f460048036036020811015610a01576000806109fe614ea8565b50505b50356001600160a01b0316611cea565b61029f60048036036040811015610a3057600080610a2d614ea8565b50505b506001600160a01b0381358116916020013516611cf5565b610a50611d14565b610a5c82826000611d7b565b5050565b60006002610a6c614f13565b906101000a90046001600160a01b031681565b600080610a8b8361201d565b509392505050565b610a9b612122565b6000610aa561219a565b9050806001600160a01b031663d685743a8360006040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780610af2614f6e565b158015610b0757600080610b04614ea8565b50505b505a610b11614fba565b505050505050158015610b31573d6000803e3d6000610b2e614ea8565b50505b50505050806001600160a01b03166304bd11e560016040516001600160e01b031960e084901b168152901515600482015260240160006040518083038160008780610b7a614f6e565b158015610b8f57600080610b8c614ea8565b50505b505a610b99614fba565b505050505050158015610bb9573d6000803e3d6000610bb6614ea8565b50505b50505050610a5c826121b1565b6000806000610bd484612579565b509196909550909350915050565b610bea612122565b8060018080610bf7614f13565b816001600160a01b0302191690836001600160a01b0316021790610c196150a5565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60066020528060005260406000209050610c74614f13565b81565b6000610c816125e1565b90505b90565b60006060610c936118c6565b905060005b8151811015610e0d576000828281518110610caf57fe5b60200260200101516000818152600360205290915060409020600090610cd3614f13565b6001600160a01b036101009290920a90041660006002610cf1614f13565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610d42614f6e565b158015610d5757600080610d54614ea8565b50505b505a610d616150f3565b5050505050158015610d80573d6000803e3d6000610d7d614ea8565b50505b505050506040513d6020811015610d9f57600080610d9c614ea8565b50505b8101908080516001600160a01b031693909314159250829150610df3905057506000818152600360205260408120600090610dd8614f13565b906101000a90046001600160a01b03166001600160a01b0316145b15610e045760009350505050610c84565b50600101610c98565b50600191505090565b610e1e611d14565b610e2882826126c1565b610a5c82600060016127de565b600560205280600052604060002060009150610a6c614f13565b6060818181604051908082528060200260200182016040528015610e7d578160200160208202803883390190505b50905060005b82811015610ef75760056000878784818110610e9b57fe5b905060200201358152602001908152602001600020600090610ebb614f13565b906101000a90046001600160a01b0316828281518110610ed757fe5b6001600160a01b0390921660209283029190910190910152600101610e83565b509150505b92915050565b610f0a611d14565b610f148383612b77565b610f2083826000611d7b565b505050565b610f2d612122565b8060005b81811015610f6557610f5d848483818110610f4857fe5b905060200201356001600160a01b0316612bd0565b600101610f31565b50610f6e61219a565b6001600160a01b03166304bd11e560016040516001600160e01b031960e084901b168152901515600482015260240160006040518083038160008780610fb2614f6e565b158015610fc757600080610fc4614ea8565b50505b505a610fd1614fba565b505050505050158015610ff1573d6000803e3d6000610fee614ea8565b50505b50505050505050565b611002611d14565b61100f81600060016127de565b50565b600061101c612e77565b6001600160a01b031663c8e5bbd56110346001612e92565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561108357808201518382015260200161106b565b505050509050019250505060006040518083038186806110a1614f6e565b1580156110b6576000806110b3614ea8565b50505b505a6110c06150f3565b50505050501580156110df573d6000803e3d60006110dc614ea8565b50505b505050506040513d6000823e601f3d908101601f1916820160409081528110156111115760008061110e614ea8565b50505b8101908080516040519392919084600160201b82111561113957600080611136614ea8565b50505b90830190602082018581111561115757600080611154614ea8565b50505b82518660208202830111600160201b8211171561117c57600080611179614ea8565b50505b825250602001908051906020019060200280838360005b838110156111ab578082015183820152602001611193565b50505050905001604052602001805195945050505050565b60006001610a6c614f13565b6524b9b9bab2b960d11b81565b60008060006111f185620a69cb60eb1b612fb4565b93509091506000905061121261120561323a565b839063ffffffff6132ac16565b90508481106112245760009350611237565b611234858263ffffffff6132c816565b93505b50509250929050565b611248612122565b80600061125361219a565b9050606082604051908082528060200260200182016040528015611281578160200160208202803883390190505b509050816001600160a01b03166317b38db48686846040518463ffffffff1660e01b81526004018080602001806020018381038352868682818152602001925060200280828437600083820152601f01601f19169091018481038352905084818151815260200191508051906020019060200280838360005b838110156113125780820151838201526020016112fa565b505050509050019550505050505060006040518083038160008780611335614f6e565b15801561134a57600080611347614ea8565b50505b505a611354614fba565b505050505050158015611374573d6000803e3d6000611371614ea8565b50505b50505050816001600160a01b03166304bd11e560016040516001600160e01b031960e084901b1681529015156004820152602401600060405180830381600087806113bd614f6e565b1580156113d2576000806113cf614ea8565b50505b505a6113dc614fba565b5050505050501580156113fc573d6000803e3d60006113f9614ea8565b50505b506000925050505b8381101561142f5761142786868381811061141b57fe5b905060200201356121b1565b600101611404565b505050505050565b6060610c816000612e92565b606061144d6118c6565b905060005b8151811015610a5c57600082828151811061146957fe5b602002602001015190506000806002611480614f13565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561153557808201518382015260200161151d565b50505050905090810190601f1680156115625780820380516001836020036101000a031916815260200191505b509350505050602060405180830381868061157b614f6e565b1580156115905760008061158d614ea8565b50505b505a61159a6150f3565b50505050501580156115b9573d6000803e3d60006115b6614ea8565b50505b505050506040513d60208110156115d8576000806115d5614ea8565b50505b8101908080516000868152600360205290945084935060409250905020600181611600614f13565b816001600160a01b0302191690836001600160a01b03160217906116226150a5565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101611452565b6000600161167e614f13565b906101000a90046001600160a01b03166001600160a01b03165a6116a06151ba565b6001600160a01b0316146116ee5760405162461bcd60e51b81526004018080602001828103825260358152602001806152b560359139604001915050604051809103906116eb614ea8565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061171a614f13565b906101000a90046001600160a01b03166001600090611737614f13565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611776614f13565b906101000a90046001600160a01b03166000806101000a81611796614f13565b816001600160a01b0302191690836001600160a01b03160217906117b86150a5565b5050506000600160006101000a816117ce614f13565b816001600160a01b0302191690836001600160a01b0316021790610f206150a5565b6000610a8b838361332d565b60048181611808614f13565b811061181057fe5b9060005260206000200160009150610a6c614f13565b61182e612122565b61183781612bd0565b61183f61219a565b6001600160a01b03166304bd11e560016040516001600160e01b031960e084901b168152901515600482015260240160006040518083038160008780611883614f6e565b15801561189857600080611895614ea8565b50505b505a6118a2614fba565b5050505050501580156118bf573d6000803e3d6000610ff1614ea8565b5050505050565b6060806118d1613839565b90506060600d604051908082528060200260200182016040528015611900578160200160208202803883390190505b509050680a6f2dce8d0cae8d2f60bb1b8160008151811061191d57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061194357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061196d57fe5b6020026020010181815250506d53796e746865746978537461746560901b8160038151811061199857fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106119bc57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816005815181106119ea57fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600681518110611a1657fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1cd554d1606a1b81600781518110611a4657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600881518110611a7157fe5b6020026020010181815250506e53796e746865746978457363726f7760881b81600981518110611a9d57fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b81600a81518110611ac657fe5b6020026020010181815250506844656274436163686560b81b81600b81518110611aec57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600c81518110611b1a57fe5b602002602001018181525050611b308282613898565b9250505090565b600080610a6c614f13565b611b4a611d14565b611b5483836126c1565b610f20838260006127de565b6000611b6b8261394d565b5092915050565b6000610efc826139a7565b600080611b88611d14565b935093915050565b600080611b9c8361394d565b915091505b915091565b611bae611d14565b610a5c828260006127de565b6000610c8161323a565b6000610efc82613b6c565b611bd7611d14565b61100f8160006001611d7b565b600080611bef613b9f565b90506000816001600160a01b0316638b3f8088866040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160408051808303818680611c3c614f6e565b158015611c5157600080611c4e614ea8565b50505b505a611c5b6150f3565b5050505050158015611c7a573d6000803e3d6000611c77614ea8565b50505b505050506040513d6040811015611c9957600080611c96614ea8565b50505b81019080805192919060200180515092935050508115159050611cc157600092505050610efc565b611ccb8585612fb4565b50909695505050505050565b6000600480611ce4614f13565b91505090565b6000610efc82613bbb565b611cfd611d14565b611d078282612b77565b610a5c8260006001611d7b565b611d1c613cd5565b6001600160a01b03165a611d2e6151ba565b6001600160a01b031614611d795760405162461bcd60e51b815260040180806020018281038252603b8152602001806152ea603b913960400191505060405180910390610a5c614ea8565b565b600080600080611d8a87612579565b9350935093509350611d9b81613cec565b84611df55783861115611df05760405162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015260640160405180910390611ded614ea8565b50505b611df9565b8395505b611e0587878585613d44565b611e0e8761427c565b631cd554d160e21b6000908152600560205260409020600090611e2f614f13565b906101000a90046001600160a01b03166001600160a01b031663867904b488886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780611e90614f6e565b158015611ea557600080611ea2614ea8565b50505b505a611eaf614fba565b505050505050158015611ecf573d6000803e3d6000611ecc614ea8565b50505b50505050611edb61219a565b6001600160a01b031663d685743a631cd554d160e21b73__$7f049114de1448f1f37beb78d0ca94acee$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611f30614f6e565b158015611f4557600080611f42614ea8565b50505b505a611f4f615200565b5050505050158015611f6e573d6000803e3d6000611f6b614ea8565b50505b505050506040513d6020811015611f8d57600080611f8a614ea8565b50505b81019080805192506040915050516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780611fd1614f6e565b158015611fe657600080611fe3614ea8565b50505b505a611ff0614fba565b505050505050158015612010573d6000803e3d600061200d614ea8565b50505b50505050610ff18761433b565b60008060008061202b612e77565b6001600160a01b0316630c71cd23620a69cb60eb1b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680612071614f6e565b15801561208657600080612083614ea8565b50505b505a6120906150f3565b50505050501580156120af573d6000803e3d60006120ac614ea8565b50505b505050506040513d60408110156120ce576000806120cb614ea8565b50505b8101908080519291906020018051939550929350600092506120fc91506120f69050876139a7565b84614466565b905061211661210961323a565b829063ffffffff61447816565b94509092505050915091565b60008061212d614f13565b906101000a90046001600160a01b03166001600160a01b03165a61214f6151ba565b6001600160a01b031614611d795760405162461bcd60e51b815260040180806020018281038252602f815260200180615325602f913960400191505060405180910390610a5c614ea8565b6000610c816844656274436163686560b81b6144a2565b60008181526005602052604081206000906121ca614f13565b6001600160a01b036101009290920a90041690508061222f5760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b60448201526064016040518091039061222c614ea8565b50505b806001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680612263614f6e565b15801561227857600080612275614ea8565b50505b505a6122826150f3565b50505050501580156122a1573d6000803e3d600061229e614ea8565b50505b505050506040513d60208110156122c0576000806122bd614ea8565b50505b81019080805115925061231b9150505760405162461bcd60e51b815260206004820152601360248201527253796e746820737570706c792065786973747360681b604482015260640160405180910390612318614ea8565b50505b631cd554d160e21b8214156123755760405162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b604482015260640160405180910390612372614ea8565b50505b60005b600480612383614f13565b90508110156124dc57816001600160a01b0316600482816123a2614f13565b81106123aa57fe5b906000526020600020016000906123bf614f13565b906101000a90046001600160a01b03166001600160a01b031614156124d457600481816123ea614f13565b81106123f257fe5b90600052602060002001600181612407614f13565b906001600160a01b030219169061241c6150a5565b50506004600160048061242d614f13565b90500381612439614f13565b811061244157fe5b90600052602060002001600090612456614f13565b906101000a90046001600160a01b031660048281612472614f13565b811061247a57fe5b9060005260206000200160018161248f614f13565b816001600160a01b0302191690836001600160a01b03160217906124b16150a5565b5050506004806124bf614f13565b906124ce906000198301615211565b506124dc565b600101612378565b506001600160a01b03811660009081526006602052604090206000906125006150a5565b5050600082815260056020526040902060018161251b614f13565b906001600160a01b03021916906125306150a5565b50507f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d082826040519182526001600160a01b031660208201526040908101905180910390a15050565b60008060008061259085631cd554d160e21b612fb4565b919450925090506000806125a38761201d565b9150915081955082806125b35750805b92508585106125c557600095506125d8565b6125d5868663ffffffff6132c816565b95505b50509193509193565b60006125eb6145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612656614f6e565b15801561266b57600080612668614ea8565b50505b505a6126756150f3565b5050505050158015612694573d6000803e3d6000612691614ea8565b50505b505050506040513d60208110156126b3576000806126b0614ea8565b50505b810190808051935050505090565b6126c96145c1565b6001600160a01b0316637d3f0ba283836040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061271a614f6e565b15801561272f5760008061272c614ea8565b50505b505a6127396150f3565b5050505050158015612758573d6000803e3d6000612755614ea8565b50505b505050506040513d602081101561277757600080612774614ea8565b50505b8101908080519250610a5c9150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c660000006044820152606401604051809103906127d8614ea8565b50505050565b80612a07576127ec83613b6c565b6128455760405162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015260640160405180910390612842614ea8565b50505b6000806128506145e0565b6001600160a01b0316631b16802c86631cd554d160e21b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401606060405180830381600087806128a8614f6e565b1580156128bd576000806128ba614ea8565b50505b505a6128c7614fba565b5050505050501580156128e7573d6000803e3d60006128e4614ea8565b50505b505050506040513d606081101561290657600080612903614ea8565b50505b810190808051929190602001805192919060200180519396509294505083159250612a04915050576129366145e0565b6001600160a01b0316634c268fc886631cd554d160e21b87866040516001600160e01b031960e087901b1681526001600160a01b039094166004850152602484019290925260448301526064820152608401602060405180830381868061299b614f6e565b1580156129b0576000806129ad614ea8565b50505b505a6129ba6150f3565b50505050501580156129d9573d6000803e3d60006129d6614ea8565b50505b505050506040513d60208110156129f8576000806129f5614ea8565b50505b81019080805196505050505b50505b6000806000612a1d86631cd554d160e21b612fb4565b925092509250600080612a2f8861201d565b91509150612a448380612a3f5750815b613cec565b60008511612a965760405162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015260640160405180910390612a93614ea8565b50505b8515612aaf57612aac858363ffffffff6132c816565b96505b6000612abe898a8a89896145f7565b905082612ad1878363ffffffff6132c816565b11610fee57612ade61482e565b6001600160a01b031663974e9e7f8a6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780612b29614f6e565b158015612b3e57600080612b3b614ea8565b50505b505a612b48614fba565b505050505050158015612b68573d6000803e3d6000612b65614ea8565b50505b50505050505050505050505050565b612b7f6145c1565b6001600160a01b0316630487261783836040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061271a614f6e565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b81526004016020604051808303818680612c06614f6e565b158015612c1b57600080612c18614ea8565b50505b505a612c256150f3565b5050505050158015612c44573d6000803e3d6000612c41614ea8565b50505b505050506040513d6020811015612c6357600080612c60614ea8565b50505b8101908080516000818152600560205290945092506040915082905020600090612c8b614f13565b906101000a90046001600160a01b03166001600160a01b031614612ced5760405162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015260640160405180910390612cea614ea8565b50505b6001600160a01b0382166000908152600660205260408120612d0d614f13565b14612d675760405162461bcd60e51b815260206004820152601c60248201527f53796e7468206164647265737320616c72656164792065786973747300000000604482015260640160405180910390612d64614ea8565b50505b81600480600181612d76614f13565b018082612d816150a5565b5050600092835291600019830191506020902091929101600181612da3614f13565b816001600160a01b0302191690836001600160a01b0316021790612dc56150a5565b5050506000828152600560205283915060409020600181612de4614f13565b816001600160a01b0302191690836001600160a01b0316021790612e066150a5565b5050506001600160a01b038216600090815260066020528190604090208190612e2d6150a5565b5050507f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c6288481836040519182526001600160a01b031660208201526040908101905180910390a15050565b6000610c816c45786368616e6765526174657360981b6144a2565b60608082612ea1576000612ea4565b60015b60ff16600480612eb2614f13565b905001604051908082528060200260200182016040528015612ede578160200160208202803883390190505b50905060005b600480612eef614f13565b9050811015612f7c576006600060048381612f08614f13565b8110612f1057fe5b90600052602060002001600090612f25614f13565b906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020612f5d614f13565b828281518110612f6957fe5b6020908102919091010152600101612ee4565b508215610efc57620a69cb60eb1b81600480612f96614f13565b905081518110612fa257fe5b60200260200101818152505092915050565b600080600080612fc2613b9f565b9050600080826001600160a01b0316638b3f8088896040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160408051808303818680613010614f6e565b15801561302557600080613022614ea8565b50505b505a61302f6150f3565b505050505015801561304e573d6000803e3d600061304b614ea8565b50505b505050506040513d604081101561306d5760008061306a614ea8565b50505b810190808051929190602001805193955092935061309292508991506001905061332d565b9095509350816130a9575060009450613233915050565b600061320f83613203866001600160a01b03166308d95cd5866040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806130f4614f6e565b15801561310957600080613106614ea8565b50505b505a6131136150f3565b5050505050158015613132573d6000803e3d600061312f614ea8565b50505b505050506040513d60208110156131515760008061314e614ea8565b50505b810190808051925050506001600160a01b03881663463177126040518163ffffffff1660e01b8152600401602060405180830381868061318f614f6e565b1580156131a4576000806131a1614ea8565b50505b505a6131ae6150f3565b50505050501580156131cd573d6000803e3d60006131ca614ea8565b50505b505050506040513d60208110156131ec576000806131e9614ea8565b50505b8101908080519392505063ffffffff614848169050565b9063ffffffff61486116565b90506000613220826132038961487a565b905061322b81614890565b975050505050505b9250925092565b60006132446145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612656614f6e565b60006132c18383670de0b6b3a76400006148b2565b9392505050565b6000828211156133275760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390613324614ea8565b50505b50900390565b600080600080600061333d61219a565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b81526004016080604051808303818680613370614f6e565b15801561338557600080613382614ea8565b50505b505a61338f6150f3565b50505050501580156133ae573d6000803e3d60006133ab614ea8565b50505b505050506040513d60808110156133cd576000806133ca614ea8565b50505b8101908080519291906020018051929190602001805192919060200180519598509296509394508593508392506134049150505750805b93506000613410612e77565b905086613738576000806134226148f6565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b815260040160408051808303818680613454614f6e565b15801561346957600080613466614ea8565b50505b505a6134736150f3565b5050505050158015613492573d6000803e3d600061348f614ea8565b50505b505050506040513d60408110156134b1576000806134ae614ea8565b50505b81019080805192919060200180519395509293506134db925088915084905063ffffffff61491516565b955086806134e65750805b965061359a6134f361497d565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b81526004016020604051808303818680613526614f6e565b15801561353b57600080613538614ea8565b50505b505a6135456150f3565b5050505050158015613564573d6000803e3d6000613561614ea8565b50505b505050506040513d602081101561358357600080613580614ea8565b50505b8101908080518a935091505063ffffffff61491516565b9550600080846001600160a01b0316630c71cd23630e68aa8960e31b6040516001600160e01b031960e084901b1681526004810191909152602401604080518083038186806135e7614f6e565b1580156135fc576000806135f9614ea8565b50505b505a6136066150f3565b5050505050158015613625573d6000803e3d6000613622614ea8565b50505b505050506040513d604081101561364457600080613641614ea8565b50505b810190808051929190602001805193955092935060009250613713915084905061366c61499e565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b8152600401602060405180830381868061369f614f6e565b1580156136b4576000806136b1614ea8565b50505b505a6136be6150f3565b50505050501580156136dd573d6000803e3d60006136da614ea8565b50505b505050506040513d60208110156136fc576000806136f9614ea8565b50505b8101908080519392505063ffffffff6149bb169050565b9050613725898263ffffffff61491516565b985089806137305750815b995050505050505b631cd554d160e21b8814156137535750919350613832915050565b600080826001600160a01b0316630c71cd238b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680613797614f6e565b1580156137ac576000806137a9614ea8565b50505b505a6137b66150f3565b50505050501580156137d5573d6000803e3d60006137d2614ea8565b50505b505050506040513d60408110156137f4576000806137f1614ea8565b50505b810190808051929190602001805193955092935061381e925088915084905063ffffffff6132ac16565b87806138275750815b975097505050505050505b9250929050565b60606001604051908082528060200260200182016040528015613866578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061388957fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156138c8578160200160208202803883390190505b50905060005b835181101561390a578381815181106138e357fe5b60200260200101518282815181106138f757fe5b60209081029190910101526001016138ce565b5060005b8251811015611b6b5782818151811061392357fe5b602002602001015182828651018151811061393a57fe5b602090810291909101015260010161390e565b600080600061395b846139a7565b905060008061397086620a69cb60eb1b612fb4565b9250509150826000141561398c57600094509250611ba1915050565b61399c828463ffffffff6132ac16565b945092505050915091565b6000806139b2613cd5565b6001600160a01b03166370a08231846040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806139fb614f6e565b158015613a1057600080613a0d614ea8565b50505b505a613a1a6150f3565b5050505050158015613a39573d6000803e3d6000613a36614ea8565b50505b505050506040513d6020811015613a5857600080613a55614ea8565b50505b810190808051935060009250613a7091506149d09050565b6001600160a01b031614613b4957613b46613a896149d0565b6001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680613ad2614f6e565b158015613ae757600080613ae4614ea8565b50505b505a613af16150f3565b5050505050158015613b10573d6000803e3d6000613b0d614ea8565b50505b505050506040513d6020811015613b2f57600080613b2c614ea8565b50505b81019080805185935091505063ffffffff61491516565b90505b6000613b536149ed565b6001600160a01b031614610efc576132c1613a896149ed565b6000613b8e613b796125e1565b613b8284613bbb565b9063ffffffff61491516565b5a613b97615245565b101592915050565b6000610c816d53796e746865746978537461746560901b6144a2565b6000613bc56145a4565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613c69614f6e565b158015613c7e57600080613c7b614ea8565b50505b505a613c886150f3565b5050505050158015613ca7573d6000803e3d6000613ca4614ea8565b50505b505050506040513d6020811015613cc657600080613cc3614ea8565b50505b81019080805195945050505050565b6000610c81680a6f2dce8d0cae8d2f60bb1b6144a2565b801561100f5760405162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015260640160405180910390610f20614ea8565b6000613d4e613b9f565b90506000613d62858463ffffffff61491516565b90506000613d76868363ffffffff61484816565b90506000613e318273__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680613dbd614f6e565b158015613dd257600080613dcf614ea8565b50505b505a613ddc615200565b5050505050158015613dfb573d6000803e3d6000613df8614ea8565b50505b505050506040513d6020811015613e1a57600080613e17614ea8565b50505b8101908080519392505063ffffffff6132c8169050565b90508515613e6057613e5983613e4d898963ffffffff61491516565b9063ffffffff61484816565b9150613eda565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b815260040160006040518083038160008780613e96614f6e565b158015613eab57600080613ea8614ea8565b50505b505a613eb5614fba565b505050505050158015613ed5573d6000803e3d6000613ed2614ea8565b50505b505050505b836001600160a01b031663a764eb4589846040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613f2c614f6e565b158015613f4157600080613f3e614ea8565b50505b505a613f4b614fba565b505050505050158015613f6b573d6000803e3d6000613f68614ea8565b50505b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b81526004016020604051808303818680613fa5614f6e565b158015613fba57600080613fb7614ea8565b50505b505a613fc46150f3565b5050505050158015613fe3573d6000803e3d6000613fe0614ea8565b50505b505050506040513d602081101561400257600080613fff614ea8565b50505b81019080805193909311159250614144915050576001600160a01b038416633d31e97b6140c8838363463177126040518163ffffffff1660e01b81526004016020604051808303818680614054614f6e565b15801561406957600080614066614ea8565b50505b505a6140736150f3565b5050505050158015614092573d6000803e3d600061408f614ea8565b50505b505050506040513d60208110156140b1576000806140ae614ea8565b50505b8101908080519392505063ffffffff614861169050565b6040516001600160e01b031960e084901b1681526004810191909152602401600060405180830381600087806140fc614f6e565b1580156141115760008061410e614ea8565b50505b505a61411b614fba565b50505050505015801561413b573d6000803e3d6000614138614ea8565b50505b50505050614272565b836001600160a01b0316633d31e97b73__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680614192614f6e565b1580156141a7576000806141a4614ea8565b50505b505a6141b1615200565b50505050501580156141d0573d6000803e3d60006141cd614ea8565b50505b505050506040513d60208110156141ef576000806141ec614ea8565b50505b81019080805192506040915050516001600160e01b031960e084901b16815260048101919091526024016000604051808303816000878061422e614f6e565b15801561424357600080614240614ea8565b50505b505a61424d614fba565b50505050505015801561426d573d6000803e3d600061426a614ea8565b50505b505050505b5050505050505050565b6142846145a4565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001205a6142fa615245565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611883614f6e565b600080614346613b9f565b6001600160a01b0316638b3f8088846040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016040805180830381868061438e614f6e565b1580156143a3576000806143a0614ea8565b50505b505a6143ad6150f3565b50505050501580156143cc573d6000803e3d60006143c9614ea8565b50505b505050506040513d60408110156143eb576000806143e8614ea8565b50505b810190808051929190602001805193955092935061440c9250614a09915050565b6001600160a01b031663866452748484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780610fb2614f6e565b60006132c1838363ffffffff6149bb16565b6000670de0b6b3a7640000614493848463ffffffff614a1e16565b8161449a57fe5b049392505050565b6000818152600360205280604081206000906144bc614f13565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b6020820152603181019190915260510160405160208183030381529060405290611b6b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614559578082015183820152602001614541565b50505050905090810190601f1680156145865780820380516001836020036101000a031916815260200191505b50925050506040518091039061459a614ea8565b5050509050919050565b6000610c816e466c657869626c6553746f7261676560881b6144a2565b6000610c817044656c6567617465417070726f76616c7360781b6144a2565b6000610c816822bc31b430b733b2b960b91b6144a2565b60008383106146065783614608565b825b905061461686828585614a7d565b631cd554d160e21b6000908152600560205260409020600090614637614f13565b906101000a90046001600160a01b03166001600160a01b0316639dc29fac86836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614698614f6e565b1580156146ad576000806146aa614ea8565b50505b505a6146b7614fba565b5050505050501580156146d7573d6000803e3d60006146d4614ea8565b50505b505050506146e361219a565b6001600160a01b031663d685743a631cd554d160e21b73__$7f049114de1448f1f37beb78d0ca94acee$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680614738614f6e565b15801561474d5760008061474a614ea8565b50505b505a614757615200565b5050505050158015614776573d6000803e3d6000614773614ea8565b50505b505050506040513d602081101561479557600080614792614ea8565b50505b81019080805192506040915050516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806147d9614f6e565b1580156147ee576000806147eb614ea8565b50505b505a6147f8614fba565b505050505050158015614818573d6000803e3d6000614815614ea8565b50505b505050506148258661433b565b95945050505050565b6000610c816b4c69717569646174696f6e7360a01b6144a2565b60006132c183836b033b2e3c9fd0803ce80000006148b2565b60006132c183836b033b2e3c9fd0803ce8000000614e0b565b6000610efc82633b9aca0063ffffffff614a1e16565b60006305f5e10082046005600a8206106148a857600a015b600a900492915050565b6000806148d8846148cc87600a870263ffffffff614a1e16565b9063ffffffff614e3616565b90506005600a825b06106148ea57600a015b600a9004949350505050565b6000610c817021b7b63630ba32b930b626b0b730b3b2b960791b6144a2565b6000828201838110156132c15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390614974614ea8565b50509392505050565b6000610c8172115d1a195c90dbdb1b185d195c985b1cd554d1606a1b6144a2565b6000610c816e115d1a195c90dbdb1b185d195c985b608a1b6144a2565b60006132c18383670de0b6b3a7640000614e0b565b6000610c816e53796e746865746978457363726f7760881b6144a2565b6000610c816d2932bbb0b93222b9b1b937bbab1960911b6144a2565b6000610c8166119959541bdbdb60ca1b6144a2565b600082614a2d57506000610efc565b82820282848281614a3a57fe5b04146132c15760405162461bcd60e51b81526004018080602001828103825260218152602001806153546021913960400191505060405180910390614974614ea8565b6000614a87613b9f565b90506000614a9b838663ffffffff6132c816565b905060008115614b74576000614ab7878463ffffffff61484816565b9050614b708173__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680614afc614f6e565b158015614b1157600080614b0e614ea8565b50505b505a614b1b615200565b5050505050158015614b3a573d6000803e3d6000614b37614ea8565b50505b505050506040513d6020811015614b5957600080614b56614ea8565b50505b8101908080519392505063ffffffff614915169050565b9150505b84861415614c9057826001600160a01b031663a764eb458860006040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614bcf614f6e565b158015614be457600080614be1614ea8565b50505b505a614bee614fba565b505050505050158015614c0e573d6000803e3d6000614c0b614ea8565b50505b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b815260040160006040518083038160008780614c48614f6e565b158015614c5d57600080614c5a614ea8565b50505b505a614c67614fba565b505050505050158015614c87573d6000803e3d6000614c84614ea8565b50505b50505050614d50565b6000614ca2868863ffffffff6132c816565b90506000614cb6828563ffffffff61484816565b9050846001600160a01b031663a764eb458a836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614d0a614f6e565b158015614d1f57600080614d1c614ea8565b50505b505a614d29614fba565b505050505050158015614d49573d6000803e3d6000614d46614ea8565b50505b5050505050505b6001600160a01b038316633d31e97b614d8e838363463177126040518163ffffffff1660e01b81526004016020604051808303818680614054614f6e565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780614dc2614f6e565b158015614dd757600080614dd4614ea8565b50505b505a614de1614fba565b505050505050158015614dfe573d6000803e3d6000612b68614ea8565b5050505050505050505050565b600080600a8304614e22868663ffffffff614a1e16565b81614e2957fe5b0490506005600a826148e0565b6000808211614e945760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390614e91614ea8565b50505b6000828481614e9f57fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614ee0578086015182820160400152602001614ec5565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610f2057600082820152602001614f57565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f57565b6385979f76598160e01b8152614feb565b8080831115610efc575090919050565b8080831015610efc575090919050565b836004820152846024820152606060448201528760648201526084810160005b8981101561502357808901518282015260200161500b565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596150788e3d614fdb565b8d016150848187614fcb565b5b828110156150995760008152602001615085565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614f57565b638540661f598160e01b81525b836004820152846024820152606060448201528660648201526084810160005b88811015615138578088015182820152602001615120565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af1505961518d8d3d614fdb565b8c016151998187614fcb565b5b828110156151ae576000815260200161519a565b50929c50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f57565b63ffe73914598160e01b8152615100565b8161521a614f13565b81836152246150a5565b505081811115610f205781836000526020600020610f20928101910161528b565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f57565b610c8491905b808211156152b057600080826152a56150a5565b505050600101615291565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704973737565723a204f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", + "bytecode": "60806040523480156200001c576000806200001962000138565b50505b5060405162005c7338038062005c738339810160408190526200003f916200026d565b81818080836001600160a01b038116620000815760405162461bcd60e51b81526004016200006d9062000334565b604051809103906200007e62000138565b50505b80600060018162000091620001a5565b816001600160a01b0302191690836001600160a01b0316021790620000b562000207565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600082604051620000ec9291906200030e565b60405180910390a15080600260018162000105620001a5565b816001600160a01b0302191690836001600160a01b03160217906200012962000207565b50505050505050505062000397565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200017257808601518282016040015260200162000155565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200020257600082820152602001620001e9565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620001e9565b600081519050620002678162000375565b92915050565b600080604083850312156200028c576000806200028962000138565b50505b60006200029a858562000256565b9250506020620002ad8582860162000256565b9150509250929050565b620002c28162000361565b82525050565b620002c2816200034f565b6000620002e260198362000346565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200031e8285620002b7565b6200032d6020830184620002c8565b9392505050565b602080825281016200026781620002d3565b90815260200190565b60006001600160a01b03821662000267565b60006200026782600062000267826200034f565b62000380816200034f565b811462000394576000806200020262000138565b50565b6158cc80620003a76000396000f3fe6080604052348015610019576000806100166143ea565b50505b50600436106102675760003560e01c8063741853601161014f578063a63c4df4116100cc578063c897713211610090578063c897713214610521578063d37c4d8b14610534578063d686c06c14610547578063dbf633401461055a578063dd3d2b2e14610562578063fd864ccf1461057557610267565b8063a63c4df4146104bf578063ae3bbbbb146104e0578063b06e8c65146104f3578063b410a03414610506578063bff4fdfc1461050e57610267565b8063899ffef411610113578063899ffef4146104765780638da5cb5b1461047e5780639a5154b414610486578063a311c7c214610499578063a5fdc5de146104ac57610267565b8063741853601461042d57806379ba5097146104355780637b1001b71461043d578063835e119c14610450578063849cf5881461046357610267565b806332608039116101e85780634e99bda9116101ac5780634e99bda9146103bf57806353a47bb7146103c7578063614d08f8146103dc5780636bed0415146103e45780637168d2c21461040557806372cb051f1461041857610267565b806332608039146103535780633b6afe401461036657806344ec6b621461038657806347a9b6db14610399578063497d704a146103ac57610267565b80631627540c1161022f5780631627540c146102fd57806316b2213f14610310578063242df9e1146103235780632af64bd31461032b5780632b3f41aa1461034057610267565b8063042e06881461027557806304f3bcec1461028a57806305b3c1c9146102a85780630b887dae146102c85780631137aedf146102db575b6000806102726143ea565b50505b610288610283366004614a38565b610588565b005b6102926105a0565b60405161029f9190615628565b60405180910390f35b6102bb6102b6366004614949565b6105bf565b60405161029f919061559b565b6102886102d6366004614b91565b6105d3565b6102ee6102e9366004614949565b6106fc565b60405161029f939291906155c5565b61028861030b366004614949565b610718565b6102bb61031e366004614949565b61078c565b6102bb6107a7565b6103336107b7565b60405161029f919061558d565b61028861034e36600461499f565b610938565b610292610361366004614b91565b610957565b610379610374366004614abd565b610971565b60405161029f919061557c565b6102886103943660046149e2565b610a24565b6102886103a7366004614abd565b610a47565b6102886103ba366004614949565b610b1e565b610333610b36565b6103cf610bed565b60405161029f9190615489565b6102bb610bf9565b6103f76103f2366004614a38565b610c06565b60405161029f929190615775565b610288610413366004614abd565b610c6a565b610420610df2565b60405161029f919061556b565b610288610dfe565b610288610f91565b6102bb61044b366004614bdf565b6110ec565b61029261045e366004614b91565b6110f8565b610288610471366004614c18565b611122565b6104206111bf565b6103cf6113fe565b6102886104943660046149e2565b611409565b6102bb6104a7366004614949565b611427565b6102bb6104ba366004614949565b611439565b6104d26104cd366004614a71565b611444565b60405161029f9291906155b7565b6103f76104ee366004614949565b611457565b610288610501366004614a38565b61146d565b6102bb611481565b61033361051c366004614949565b61148b565b61028861052f366004614949565b611496565b6102bb610542366004614a38565b6114ab565b6102886105553660046149e2565b611582565b6102bb61164c565b6102bb610570366004614949565b61165f565b61028861058336600461499f565b61166a565b610590611689565b61059c828260006116da565b5050565b600060026105ac614455565b906101000a90046001600160a01b031681565b6000806105cb83611941565b509392505050565b6105db611a31565b60006105e5611a84565b9050806001600160a01b031663d685743a8360006040518363ffffffff1660e01b81526004016106169291906155d3565b6000604051808303816000878061062b6144b0565b1580156106405760008061063d6143ea565b50505b505a61064a6144fc565b50505050505015801561066a573d6000803e3d60006106676143ea565b50505b50505050806001600160a01b03166304bd11e560016040518263ffffffff1660e01b815260040161069b919061558d565b600060405180830381600087806106b06144b0565b1580156106c5576000806106c26143ea565b50505b505a6106cf6144fc565b5050505050501580156106ef573d6000803e3d60006106ec6143ea565b50505b5050505061059c82611a9b565b600080600061070a846121c1565b509196909550909350915050565b610720611a31565b806001808061072d614455565b816001600160a01b0302191690836001600160a01b031602179061074f6145e7565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516107819190615489565b60405180910390a150565b600660205280600052604060002090506107a4614455565b81565b60006107b1612229565b90505b90565b600060606107c36111bf565b905060005b815181101561092f5760008282815181106107df57fe5b60200260200101516000818152600360205290915060409020600090610803614455565b6001600160a01b036101009290920a90041660006002610821614455565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040518263ffffffff1660e01b815260040161085c919061559b565b602060405180830381868061086f6144b0565b158015610884576000806108816143ea565b50505b505a61088e614635565b50505050501580156108ad573d6000803e3d60006108aa6143ea565b50505b50505050604051601f3d908101601f191682016040526108d09190810190614978565b6001600160a01b0316141580610915575060008181526003602052604081206000906108fa614455565b906101000a90046001600160a01b03166001600160a01b0316145b1561092657600093505050506107b4565b506001016107c8565b50600191505090565b610940611689565b61094a82826122f8565b61059c82600060016123d2565b6005602052806000526040600020600091506105ac614455565b606081818160405190808252806020026020018201604052801561099f578160200160208202803883390190505b50905060005b82811015610a1957600560008787848181106109bd57fe5b9050602002013581526020019081526020016000206000906109dd614455565b906101000a90046001600160a01b03168282815181106109f957fe5b6001600160a01b03909216602092830291909101909101526001016109a5565b509150505b92915050565b610a2c611689565b610a3683836126cf565b610a42838260006116da565b505050565b610a4f611a31565b8060005b81811015610a8c57610a84848483818110610a6a57fe5b9050602002016020610a7f9190810190614c18565b612704565b600101610a53565b50610a95611a84565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401610ac1919061558d565b60006040518083038160008780610ad66144b0565b158015610aeb57600080610ae86143ea565b50505b505a610af56144fc565b505050505050158015610b15573d6000803e3d6000610b126143ea565b50505b50505050505050565b610b26611689565b610b3381600060016123d2565b50565b6000610b40612954565b6001600160a01b031663c8e5bbd5610b58600161296f565b6040518263ffffffff1660e01b8152600401610b74919061556b565b6000604051808303818680610b876144b0565b158015610b9c57600080610b996143ea565b50505b505a610ba6614635565b5050505050158015610bc5573d6000803e3d6000610bc26143ea565b50505b505050506040513d6000823e601f3d908101601f19168201604052610a1e9190810190614b11565b600060016105ac614455565b6524b9b9bab2b960d11b81565b6000806000610c1b85620a69cb60eb1b612a91565b935090915060009050610c3c610c2f612cea565b839063ffffffff612d4216565b9050848110610c4e5760009350610c61565b610c5e858263ffffffff612d5e16565b93505b50509250929050565b610c72611a31565b806000610c7d611a84565b9050606082604051908082528060200260200182016040528015610cab578160200160208202803883390190505b509050816001600160a01b03166317b38db48686846040518463ffffffff1660e01b8152600401610cde93929190615545565b60006040518083038160008780610cf36144b0565b158015610d0857600080610d056143ea565b50505b505a610d126144fc565b505050505050158015610d32573d6000803e3d6000610d2f6143ea565b50505b50505050816001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401610d63919061558d565b60006040518083038160008780610d786144b0565b158015610d8d57600080610d8a6143ea565b50505b505a610d976144fc565b505050505050158015610db7573d6000803e3d6000610db46143ea565b50505b506000925050505b83811015610dea57610de2868683818110610dd657fe5b90506020020135611a9b565b600101610dbf565b505050505050565b60606107b1600061296f565b6060610e086111bf565b905060005b815181101561059c576000828281518110610e2457fe5b602002602001015190506000806002610e3b614455565b906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610e6b919061547e565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610e979291906155e1565b6020604051808303818680610eaa6144b0565b158015610ebf57600080610ebc6143ea565b50505b505a610ec9614635565b5050505050158015610ee8573d6000803e3d6000610ee56143ea565b50505b50505050604051601f3d908101601f19168201604052610f0b9190810190614978565b60008381526003602052909150819060409020600181610f29614455565b816001600160a01b0302191690836001600160a01b0316021790610f4b6145e7565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa688282604051610f7f9291906155a9565b60405180910390a15050600101610e0d565b60006001610f9d614455565b906101000a90046001600160a01b03166001600160a01b03165a610fbf6146fc565b6001600160a01b031614610ff75760405162461bcd60e51b8152600401610fe590615655565b60405180910390610ff46143ea565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611023614455565b906101000a90046001600160a01b03166001600090611040614455565b906101000a90046001600160a01b031660405161105e929190615497565b60405180910390a160006001611072614455565b906101000a90046001600160a01b03166000806101000a81611092614455565b816001600160a01b0302191690836001600160a01b03160217906110b46145e7565b5050506000600160006101000a816110ca614455565b816001600160a01b0302191690836001600160a01b0316021790610a426145e7565b60006105cb8383612d98565b60048181611104614455565b811061110c57fe5b90600052602060002001600091506105ac614455565b61112a611a31565b61113381612704565b61113b611a84565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401611167919061558d565b6000604051808303816000878061117c6144b0565b1580156111915760008061118e6143ea565b50505b505a61119b6144fc565b5050505050501580156111b8573d6000803e3d6000610b156143ea565b5050505050565b6060806111ca61300f565b90506060600c6040519080825280602002602001820160405280156111f9578160200160208202803883390190505b509050680a6f2dce8d0cae8d2f60bb1b8160008151811061121657fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061123c57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061126657fe5b6020026020010181815250506d53796e746865746978537461746560901b8160038151811061129157fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106112b557fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816005815181106112e357fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160068151811061130e57fe5b6020026020010181815250506e53796e746865746978457363726f7760881b8160078151811061133a57fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b8160088151811061136357fe5b6020026020010181815250506844656274436163686560b81b8160098151811061138957fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600a815181106113b757fe5b6020026020010181815250506c29bcb73a342932b232b2b6b2b960991b81600b815181106113e157fe5b6020026020010181815250506113f7828261306e565b9250505090565b6000806105ac614455565b611411611689565b61141b83836122f8565b610a42838260006123d2565b600061143282613123565b5092915050565b6000610a1e8261317d565b60008061144f611689565b935093915050565b60008061146383613123565b915091505b915091565b611475611689565b61059c828260006123d2565b60006107b1612cea565b6000610a1e8261331e565b61149e611689565b610b3381600060016116da565b6000806114b6613351565b90506000816001600160a01b0316638b3f8088866040518263ffffffff1660e01b81526004016114e69190615489565b604080518083038186806114f86144b0565b15801561150d5760008061150a6143ea565b50505b505a611517614635565b5050505050158015611536573d6000803e3d60006115336143ea565b50505b50505050604051601f3d908101601f191682016040526115599190810190614c8e565b5090508061156c57600092505050610a1e565b6115768585612a91565b50909695505050505050565b61158a61336d565b826001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186806115be6144b0565b1580156115d3576000806115d06143ea565b50505b505a6115dd614635565b50505050501580156115fc573d6000803e3d60006115f96143ea565b50505b50505050604051601f3d908101601f1916820160405261161f9190810190614978565b6001600160a01b0316639dc29fac83836040518363ffffffff1660e01b8152600401610ac19291906154b2565b6000600480611659614455565b91505090565b6000610a1e826133ad565b611672611689565b61167c82826126cf565b61059c82600060016116da565b61169161349a565b6001600160a01b03165a6116a36146fc565b6001600160a01b0316146116d85760405162461bcd60e51b81526004016116c9906156d5565b6040518091039061059c6143ea565b565b6000806000806116e9876121c1565b93509350935093506116fa816134b1565b8461173657838611156117315760405162461bcd60e51b815260040161171f906156a5565b6040518091039061172e6143ea565b50505b61173a565b8395505b611746878785856134de565b61174f876139ca565b631cd554d160e21b6000908152600560205260409020600090611770614455565b906101000a90046001600160a01b03166001600160a01b031663867904b488886040518363ffffffff1660e01b81526004016117ad9291906154b2565b600060405180830381600087806117c26144b0565b1580156117d7576000806117d46143ea565b50505b505a6117e16144fc565b505050505050158015611801573d6000803e3d60006117fe6143ea565b50505b5050505061180d611a84565b6001600160a01b031663d685743a631cd554d160e21b73__$7f049114de1448f1f37beb78d0ca94acee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806118626144b0565b158015611877576000806118746143ea565b50505b505a611881614742565b50505050501580156118a0573d6000803e3d600061189d6143ea565b50505b50505050604051601f3d908101601f191682016040526118c39190810190614bb8565b6040518363ffffffff1660e01b81526004016118e09291906155b7565b600060405180830381600087806118f56144b0565b15801561190a576000806119076143ea565b50505b505a6119146144fc565b505050505050158015611934573d6000803e3d60006119316143ea565b50505b50505050610b1587613a4b565b60008060008061194f612954565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b8152600401611980919061559b565b604080518083038186806119926144b0565b1580156119a7576000806119a46143ea565b50505b505a6119b1614635565b50505050501580156119d0573d6000803e3d60006119cd6143ea565b50505b50505050604051601f3d908101601f191682016040526119f39190810190614c66565b915091506000611a0b611a058761317d565b84613b30565b9050611a25611a18612cea565b829063ffffffff613b4216565b94509092505050915091565b600080611a3c614455565b906101000a90046001600160a01b03166001600160a01b03165a611a5e6146fc565b6001600160a01b0316146116d85760405162461bcd60e51b81526004016116c990615715565b60006107b16844656274436163686560b81b613b6c565b6000818152600560205260408120600090611ab4614455565b6001600160a01b036101009290920a900416905080611af75760405162461bcd60e51b8152600401611ae5906156f5565b60405180910390611af46143ea565b50505b631cd554d160e21b821415611b305760405162461bcd60e51b8152600401611b1e90615745565b60405180910390611b2d6143ea565b50505b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680611b666144b0565b158015611b7b57600080611b786143ea565b50505b505a611b85614635565b5050505050158015611ba4573d6000803e3d6000611ba16143ea565b50505b50505050604051601f3d908101601f19168201604052611bc79190810190614bb8565b90508015611fc657600080611bda612954565b6001600160a01b0316638295016a86856040518363ffffffff1660e01b8152600401611c07929190615601565b6060604051808303818680611c1a6144b0565b158015611c2f57600080611c2c6143ea565b50505b505a611c39614635565b5050505050158015611c58573d6000803e3d6000611c556143ea565b50505b50505050604051601f3d908101601f19168201604052611c7b9190810190614d31565b509150915060008111611cb25760405162461bcd60e51b8152600401611ca090615705565b60405180910390611caf6143ea565b50505b6000611cbc613bf4565b631cd554d160e21b6000908152600560205290915060409020600090611ce0614455565b906101000a90046001600160a01b03166001600160a01b031663867904b482856040518363ffffffff1660e01b8152600401611d1d9291906154b2565b60006040518083038160008780611d326144b0565b158015611d4757600080611d446143ea565b50505b505a611d516144fc565b505050505050158015611d71573d6000803e3d6000611d6e6143ea565b50505b50505050611d7d611a84565b6001600160a01b031663d685743a631cd554d160e21b73__$7f049114de1448f1f37beb78d0ca94acee$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611dd26144b0565b158015611de757600080611de46143ea565b50505b505a611df1614742565b5050505050158015611e10573d6000803e3d6000611e0d6143ea565b50505b50505050604051601f3d908101601f19168201604052611e339190810190614bb8565b6040518363ffffffff1660e01b8152600401611e509291906155b7565b60006040518083038160008780611e656144b0565b158015611e7a57600080611e776143ea565b50505b505a611e846144fc565b505050505050158015611ea4573d6000803e3d6000611ea16143ea565b50505b50505050806001600160a01b0316633a70599c866001600160a01b031663ec5568896040518163ffffffff1660e01b81526004016020604051808303818680611eeb6144b0565b158015611f0057600080611efd6143ea565b50505b505a611f0a614635565b5050505050158015611f29573d6000803e3d6000611f266143ea565b50505b50505050604051601f3d908101601f19168201604052611f4c9190810190614c3f565b846040518363ffffffff1660e01b8152600401611f6a929190615636565b60006040518083038160008780611f7f6144b0565b158015611f9457600080611f916143ea565b50505b505a611f9e6144fc565b505050505050158015611fbe573d6000803e3d6000611fbb6143ea565b50505b505050505050505b60005b600480611fd4614455565b905081101561212d57826001600160a01b031660048281611ff3614455565b8110611ffb57fe5b90600052602060002001600090612010614455565b906101000a90046001600160a01b03166001600160a01b03161415612125576004818161203b614455565b811061204357fe5b90600052602060002001600181612058614455565b906001600160a01b030219169061206d6145e7565b50506004600160048061207e614455565b9050038161208a614455565b811061209257fe5b906000526020600020016000906120a7614455565b906101000a90046001600160a01b0316600482816120c3614455565b81106120cb57fe5b906000526020600020016001816120e0614455565b816001600160a01b0302191690836001600160a01b03160217906121026145e7565b505050600480612110614455565b9061211f906000198301614753565b5061212d565b600101611fc9565b506001600160a01b03821660009081526006602052604090206000906121516145e7565b5050600083815260056020526040902060018161216c614455565b906001600160a01b03021916906121816145e7565b50507f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d083836040516121b49291906155a9565b60405180910390a1505050565b6000806000806121d885631cd554d160e21b612a91565b919450925090506000806121eb87611941565b9150915081955082806121fb5750805b925085851061220d5760009550612220565b61221d868663ffffffff612d5e16565b95505b50509193509193565b6000612233613c0f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b81526004016122849291906155b7565b60206040518083038186806122976144b0565b1580156122ac576000806122a96143ea565b50505b505a6122b6614635565b50505050501580156122d5573d6000803e3d60006122d26143ea565b50505b50505050604051601f3d908101601f191682016040526107b19190810190614bb8565b612300613c2c565b6001600160a01b0316637d3f0ba283836040518363ffffffff1660e01b815260040161232d929190615497565b60206040518083038186806123406144b0565b158015612355576000806123526143ea565b50505b505a61235f614635565b505050505015801561237e573d6000803e3d600061237b6143ea565b50505b50505050604051601f3d908101601f191682016040526123a19190810190614b6a565b61059c5760405162461bcd60e51b81526004016123bd90615665565b604051809103906123cc6143ea565b50505050565b8061258a576123e08361331e565b61240e5760405162461bcd60e51b81526004016123fc90615765565b6040518091039061240b6143ea565b50505b600080612419613c4b565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b815260040161244d9291906154b2565b606060405180830381600087806124626144b0565b158015612477576000806124746143ea565b50505b505a6124816144fc565b5050505050501580156124a1573d6000803e3d600061249e6143ea565b50505b50505050604051601f3d908101601f191682016040526124c49190810190614d31565b9093509150508015612587576124d8613c4b565b6001600160a01b0316634c268fc886631cd554d160e21b87866040518563ffffffff1660e01b815260040161251094939291906154cd565b60206040518083038186806125236144b0565b158015612538576000806125356143ea565b50505b505a612542614635565b5050505050158015612561573d6000803e3d600061255e6143ea565b50505b50505050604051601f3d908101601f191682016040526125849190810190614bb8565b93505b50505b60008060006125a086631cd554d160e21b612a91565b9250925092506000806125b288611941565b915091506125c783806125c25750815b6134b1565b600085116125f95760405162461bcd60e51b81526004016125e790615695565b604051809103906125f66143ea565b50505b85156126125761260f858363ffffffff612d5e16565b96505b6000612621898a8a8989613c62565b905082612634878363ffffffff612d5e16565b11610b1257612641613e7c565b6001600160a01b031663974e9e7f8a6040518263ffffffff1660e01b815260040161266c9190615489565b600060405180830381600087806126816144b0565b158015612696576000806126936143ea565b50505b505a6126a06144fc565b5050505050501580156126c0573d6000803e3d60006126bd6143ea565b50505b50505050505050505050505050565b6126d7613c2c565b6001600160a01b0316630487261783836040518363ffffffff1660e01b815260040161232d929190615497565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b8152600401602060405180830381868061273a6144b0565b15801561274f5760008061274c6143ea565b50505b505a612759614635565b5050505050158015612778573d6000803e3d60006127756143ea565b50505b50505050604051601f3d908101601f1916820160405261279b9190810190614bb8565b60008181526005602052909150604081206000906127b7614455565b906101000a90046001600160a01b03166001600160a01b0316146127ff5760405162461bcd60e51b81526004016127ed90615755565b604051809103906127fc6143ea565b50505b6001600160a01b038216600090815260066020526040812061281f614455565b1461284e5760405162461bcd60e51b815260040161283c90615725565b6040518091039061284b6143ea565b50505b8160048060018161285d614455565b0180826128686145e7565b505060009283529160001983019150602090209192910160018161288a614455565b816001600160a01b0302191690836001600160a01b03160217906128ac6145e7565b50505060008281526005602052839150604090206001816128cb614455565b816001600160a01b0302191690836001600160a01b03160217906128ed6145e7565b5050506001600160a01b0382166000908152600660205281906040902081906129146145e7565b5050507f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c6288481836040516129489291906155a9565b60405180910390a15050565b60006107b16c45786368616e6765526174657360981b613b6c565b6060808261297e576000612981565b60015b60ff1660048061298f614455565b9050016040519080825280602002602001820160405280156129bb578160200160208202803883390190505b50905060005b6004806129cc614455565b9050811015612a595760066000600483816129e5614455565b81106129ed57fe5b90600052602060002001600090612a02614455565b906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020612a3a614455565b828281518110612a4657fe5b60209081029190910101526001016129c1565b508215610a1e57620a69cb60eb1b81600480612a73614455565b905081518110612a7f57fe5b60200260200101818152505092915050565b600080600080612a9f613351565b9050600080826001600160a01b0316638b3f8088896040518263ffffffff1660e01b8152600401612ad09190615489565b60408051808303818680612ae26144b0565b158015612af757600080612af46143ea565b50505b505a612b01614635565b5050505050158015612b20573d6000803e3d6000612b1d6143ea565b50505b50505050604051601f3d908101601f19168201604052612b439190810190614c8e565b91509150612b52876001612d98565b909550935081612b69575060009450612ce3915050565b6000612cbf83612cb3866001600160a01b03166308d95cd5866040518263ffffffff1660e01b8152600401612b9e919061559b565b6020604051808303818680612bb16144b0565b158015612bc657600080612bc36143ea565b50505b505a612bd0614635565b5050505050158015612bef573d6000803e3d6000612bec6143ea565b50505b50505050604051601f3d908101601f19168201604052612c129190810190614bb8565b876001600160a01b031663463177126040518163ffffffff1660e01b81526004016020604051808303818680612c466144b0565b158015612c5b57600080612c586143ea565b50505b505a612c65614635565b5050505050158015612c84573d6000803e3d6000612c816143ea565b50505b50505050604051601f3d908101601f19168201604052612ca79190810190614bb8565b9063ffffffff613e9616565b9063ffffffff613eaf16565b90506000612cd082612cb389613ec8565b9050612cdb81613ede565b975050505050505b9250925092565b6000612cf4613c0f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b81526004016122849291906155b7565b6000612d578383670de0b6b3a7640000613f00565b9392505050565b600082821115612d925760405162461bcd60e51b8152600401612d80906156b5565b60405180910390612d8f6143ea565b50505b50900390565b6000806000806000612da8611a84565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b81526004016080604051808303818680612ddb6144b0565b158015612df057600080612ded6143ea565b50505b505a612dfa614635565b5050505050158015612e19573d6000803e3d6000612e166143ea565b50505b50505050604051601f3d908101601f19168201604052612e3c9190810190614cc7565b935093505092508180612e4c5750805b93506000612e58612954565b905086612f2257600080612e6a611a84565b6001600160a01b0316632992dba26040518163ffffffff1660e01b815260040160408051808303818680612e9c6144b0565b158015612eb157600080612eae6143ea565b50505b505a612ebb614635565b5050505050158015612eda573d6000803e3d6000612ed76143ea565b50505b50505050604051601f3d908101601f19168201604052612efd9190810190614c66565b9092509050612f12868363ffffffff613f4416565b95508680612f1d5750805b965050505b631cd554d160e21b881415612f3d5750919350613008915050565b600080826001600160a01b0316630c71cd238b6040518263ffffffff1660e01b8152600401612f6c919061559b565b60408051808303818680612f7e6144b0565b158015612f9357600080612f906143ea565b50505b505a612f9d614635565b5050505050158015612fbc573d6000803e3d6000612fb96143ea565b50505b50505050604051601f3d908101601f19168201604052612fdf9190810190614c66565b9092509050612ff4868363ffffffff612d4216565b8780612ffd5750815b975097505050505050505b9250929050565b6060600160405190808252806020026020018201604052801561303c578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061305f57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561309e578160200160208202803883390190505b50905060005b83518110156130e0578381815181106130b957fe5b60200260200101518282815181106130cd57fe5b60209081029190910101526001016130a4565b5060005b8251811015611432578281815181106130f957fe5b602002602001015182828651018151811061311057fe5b60209081029190910101526001016130e4565b60008060006131318461317d565b905060008061314686620a69cb60eb1b612a91565b9250509150826000141561316257600094509250611468915050565b613172828463ffffffff612d4216565b945092505050915091565b60008061318861349a565b6001600160a01b03166370a08231846040518263ffffffff1660e01b81526004016131b39190615489565b60206040518083038186806131c66144b0565b1580156131db576000806131d86143ea565b50505b505a6131e5614635565b5050505050158015613204573d6000803e3d60006132016143ea565b50505b50505050604051601f3d908101601f191682016040526132279190810190614bb8565b90506000613233613f81565b6001600160a01b0316146132fb576132f861324c613f81565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016132779190615489565b602060405180830381868061328a6144b0565b15801561329f5760008061329c6143ea565b50505b505a6132a9614635565b50505050501580156132c8573d6000803e3d60006132c56143ea565b50505b50505050604051601f3d908101601f191682016040526132eb9190810190614bb8565b829063ffffffff613f4416565b90505b6000613305613f9e565b6001600160a01b031614610a1e57612d5761324c613f9e565b600061334061332b612229565b613334846133ad565b9063ffffffff613f4416565b5a613349614787565b101592915050565b60006107b16d53796e746865746978537461746560901b613b6c565b613375613bf4565b6001600160a01b03165a6133876146fc565b6001600160a01b0316146116d85760405162461bcd60e51b81526004016116c990615685565b60006133b7613c0f565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b856040516020016133f3929190615438565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016134269291906155b7565b60206040518083038186806134396144b0565b15801561344e5760008061344b6143ea565b50505b505a613458614635565b5050505050158015613477573d6000803e3d60006134746143ea565b50505b50505050604051601f3d908101601f19168201604052610a1e9190810190614bb8565b60006107b1680a6f2dce8d0cae8d2f60bb1b613b6c565b8015610b335760405162461bcd60e51b81526004016134cf906156e5565b60405180910390610a426143ea565b60006134e8613351565b905060006134fc858463ffffffff613f4416565b90506000613510868363ffffffff613e9616565b905060006135c48273__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186806135576144b0565b15801561356c576000806135696143ea565b50505b505a613576614742565b5050505050158015613595573d6000803e3d60006135926143ea565b50505b50505050604051601f3d908101601f191682016040526135b89190810190614bb8565b9063ffffffff612d5e16565b905085156135e7576135e083612ca7898963ffffffff613f4416565b9150613661565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b81526004016000604051808303816000878061361d6144b0565b1580156136325760008061362f6143ea565b50505b505a61363c6144fc565b50505050505015801561365c573d6000803e3d60006136596143ea565b50505b505050505b836001600160a01b031663a764eb4589846040518363ffffffff1660e01b815260040161368f9291906154b2565b600060405180830381600087806136a46144b0565b1580156136b9576000806136b66143ea565b50505b505a6136c36144fc565b5050505050501580156136e3573d6000803e3d60006136e06143ea565b50505b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b8152600401602060405180830381868061371d6144b0565b1580156137325760008061372f6143ea565b50505b505a61373c614635565b505050505015801561375b573d6000803e3d60006137586143ea565b50505b50505050604051601f3d908101601f1916820160405261377e9190810190614bb8565b111561389c576001600160a01b038416633d31e97b613823838363463177126040518163ffffffff1660e01b815260040160206040518083038186806137c26144b0565b1580156137d7576000806137d46143ea565b50505b505a6137e1614635565b5050505050158015613800573d6000803e3d60006137fd6143ea565b50505b50505050604051601f3d908101601f19168201604052612cb39190810190614bb8565b6040518263ffffffff1660e01b815260040161383f919061559b565b600060405180830381600087806138546144b0565b158015613869576000806138666143ea565b50505b505a6138736144fc565b505050505050158015613893573d6000803e3d60006138906143ea565b50505b505050506139c0565b836001600160a01b0316633d31e97b73__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186806138ea6144b0565b1580156138ff576000806138fc6143ea565b50505b505a613909614742565b5050505050158015613928573d6000803e3d60006139256143ea565b50505b50505050604051601f3d908101601f1916820160405261394b9190810190614bb8565b6040518263ffffffff1660e01b8152600401613967919061559b565b6000604051808303816000878061397c6144b0565b1580156139915760008061398e6143ea565b50505b505a61399b6144fc565b5050505050501580156139bb573d6000803e3d60006139b86143ea565b50505b505050505b5050505050505050565b6139d2613c0f565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b84604051602001613a0e929190615438565b604051602081830303815290604052805190602001205a613a2d614787565b6040518463ffffffff1660e01b8152600401611167939291906155c5565b600080613a56613351565b6001600160a01b0316638b3f8088846040518263ffffffff1660e01b8152600401613a819190615489565b60408051808303818680613a936144b0565b158015613aa857600080613aa56143ea565b50505b505a613ab2614635565b5050505050158015613ad1573d6000803e3d6000613ace6143ea565b50505b50505050604051601f3d908101601f19168201604052613af49190810190614c8e565b9092509050613b01613fba565b6001600160a01b031663866452748484846040518463ffffffff1660e01b8152600401610ac19392919061551d565b6000612d57838363ffffffff613fcf16565b6000670de0b6b3a7640000613b5d848463ffffffff613fe416565b81613b6457fe5b049392505050565b600081815260036020528060408120600090613b86614455565b6001600160a01b036101009290920a900416905080151583604051602001613bae919061545e565b604051602081830303815290604052906114325760405162461bcd60e51b8152600401613bdb9190615644565b60405180910390613bea6143ea565b5050509050919050565b60006107b16c29bcb73a342932b232b2b6b2b960991b613b6c565b60006107b16e466c657869626c6553746f7261676560881b613b6c565b60006107b17044656c6567617465417070726f76616c7360781b613b6c565b60006107b16822bc31b430b733b2b960b91b613b6c565b6000838310613c715783613c73565b825b9050613c818682858561401e565b631cd554d160e21b6000908152600560205260409020600090613ca2614455565b906101000a90046001600160a01b03166001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401613cdf9291906154b2565b60006040518083038160008780613cf46144b0565b158015613d0957600080613d066143ea565b50505b505a613d136144fc565b505050505050158015613d33573d6000803e3d6000613d306143ea565b50505b50505050613d3f611a84565b6001600160a01b031663d685743a631cd554d160e21b73__$7f049114de1448f1f37beb78d0ca94acee$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680613d946144b0565b158015613da957600080613da66143ea565b50505b505a613db3614742565b5050505050158015613dd2573d6000803e3d6000613dcf6143ea565b50505b50505050604051601f3d908101601f19168201604052613df59190810190614bb8565b6040518363ffffffff1660e01b8152600401613e129291906155b7565b60006040518083038160008780613e276144b0565b158015613e3c57600080613e396143ea565b50505b505a613e466144fc565b505050505050158015613e66573d6000803e3d6000613e636143ea565b50505b50505050613e7386613a4b565b95945050505050565b60006107b16b4c69717569646174696f6e7360a01b613b6c565b6000612d5783836b033b2e3c9fd0803ce8000000613f00565b6000612d5783836b033b2e3c9fd0803ce8000000614378565b6000610a1e82633b9aca0063ffffffff613fe416565b60006305f5e10082046005600a820610613ef657600a015b600a900492915050565b600080613f2684613f1a87600a870263ffffffff613fe416565b9063ffffffff6143a316565b90506005600a825b0610613f3857600a015b600a9004949350505050565b600082820183811015612d575760405162461bcd60e51b8152600401613f6990615675565b60405180910390613f786143ea565b50509392505050565b60006107b16e53796e746865746978457363726f7760881b613b6c565b60006107b16d2932bbb0b93222b9b1b937bbab1960911b613b6c565b60006107b166119959541bdbdb60ca1b613b6c565b6000612d578383670de0b6b3a7640000614378565b600082613ff357506000610a1e565b8282028284828161400057fe5b0414612d575760405162461bcd60e51b8152600401613f6990615735565b6000614028613351565b9050600061403c838663ffffffff612d5e16565b905060008115614102576000614058878463ffffffff613e9616565b90506140fe8173__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b8152600401602060405180830381868061409d6144b0565b1580156140b2576000806140af6143ea565b50505b505a6140bc614742565b50505050501580156140db573d6000803e3d60006140d86143ea565b50505b50505050604051601f3d908101601f191682016040526133349190810190614bb8565b9150505b8486141561420f57826001600160a01b031663a764eb458860006040518363ffffffff1660e01b8152600401614139929190615502565b6000604051808303816000878061414e6144b0565b158015614163576000806141606143ea565b50505b505a61416d6144fc565b50505050505015801561418d573d6000803e3d600061418a6143ea565b50505b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087806141c76144b0565b1580156141dc576000806141d96143ea565b50505b505a6141e66144fc565b505050505050158015614206573d6000803e3d60006142036143ea565b50505b505050506142c0565b6000614221868863ffffffff612d5e16565b90506000614235828563ffffffff613e9616565b9050846001600160a01b031663a764eb458a836040518363ffffffff1660e01b81526004016142659291906154b2565b6000604051808303816000878061427a6144b0565b15801561428f5760008061428c6143ea565b50505b505a6142996144fc565b5050505050501580156142b9573d6000803e3d60006142b66143ea565b50505b5050505050505b6001600160a01b038316633d31e97b6142fe838363463177126040518163ffffffff1660e01b815260040160206040518083038186806137c26144b0565b6040518263ffffffff1660e01b815260040161431a919061559b565b6000604051808303816000878061432f6144b0565b158015614344576000806143416143ea565b50505b505a61434e6144fc565b50505050505015801561436b573d6000803e3d60006126c06143ea565b5050505050505050505050565b600080600a830461438f868663ffffffff613fe416565b8161439657fe5b0490506005600a82613f2e565b60008082116143d65760405162461bcd60e51b81526004016143c4906156c5565b604051809103906143d36143ea565b50505b60008284816143e157fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614422578086015182820160400152602001614407565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610a4257600082820152602001614499565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614499565b6385979f76598160e01b815261452d565b8080831115610a1e575090919050565b8080831015610a1e575090919050565b836004820152846024820152606060448201528760648201526084810160005b8981101561456557808901518282015260200161454d565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596145ba8e3d61451d565b8d016145c6818761450d565b5b828110156145db57600081526020016145c7565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614499565b638540661f598160e01b81525b836004820152846024820152606060448201528660648201526084810160005b8881101561467a578088015182820152602001614662565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596146cf8d3d61451d565b8c016146db818761450d565b5b828110156146f057600081526020016146dc565b50929c50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614499565b63ffe73914598160e01b8152614642565b8161475c614455565b81836147666145e7565b505081811115610a425781836000526020600020610a4292810191016147cd565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614499565b6107b491905b808211156147f257600080826147e76145e7565b5050506001016147d3565b5090565b8035610a1e81615897565b600081519050610a1e81615897565b60008083601f84011261482b576000806148286143ea565b50505b50813567ffffffffffffffff81111561484c576000806148496143ea565b50505b60208301915083602082028301111561300857600080610c616143ea565b600082601f830112614884576000806148816143ea565b50505b8151614897614892826157c4565b615790565b915081818352602084019350602081019050838560208402820111156148c5576000806148c26143ea565b50505b60005b838110156148f157816148db8882614920565b84525060209283019291909101906001016148c8565b5050505092915050565b8035610a1e816158b1565b600081519050610a1e816158b1565b8035610a1e816158ba565b600081519050610a1e816158ba565b8035610a1e816158c3565b600081519050610a1e816158c3565b600060208284031215614964576000806149616143ea565b50505b600061497084846147f6565b949350505050565b600060208284031215614993576000806149906143ea565b50505b60006149708484614801565b600080604083850312156149bb576000806149b86143ea565b50505b60006149c785856147f6565b92505060206149d8858286016147f6565b9150509250929050565b600080600060608486031215614a00576000806149fd6143ea565b50505b6000614a0c86866147f6565b9350506020614a1d868287016147f6565b9250506040614a2e86828701614915565b9150509250925092565b60008060408385031215614a5457600080614a516143ea565b50505b6000614a6085856147f6565b92505060206149d885828601614915565b600080600060608486031215614a8f57600080614a8c6143ea565b50505b6000614a9b86866147f6565b9350506020614aac86828701614915565b9250506040614a2e868287016147f6565b60008060208385031215614ad957600080614ad66143ea565b50505b823567ffffffffffffffff811115614af957600080614af66143ea565b50505b614b0585828601614810565b92509250509250929050565b60008060408385031215614b2d57600080614b2a6143ea565b50505b825167ffffffffffffffff811115614b4d57600080614b4a6143ea565b50505b614b598582860161486a565b92505060206149d885828601614906565b600060208284031215614b8557600080614b826143ea565b50505b60006149708484614906565b600060208284031215614bac57600080614ba96143ea565b50505b60006149708484614915565b600060208284031215614bd357600080614bd06143ea565b50505b60006149708484614920565b60008060408385031215614bfb57600080614bf86143ea565b50505b6000614c078585614915565b92505060206149d8858286016148fb565b600060208284031215614c3357600080614c306143ea565b50505b6000614970848461492f565b600060208284031215614c5a57600080614c576143ea565b50505b6000614970848461493a565b60008060408385031215614c8257600080614c7f6143ea565b50505b6000614b598585614920565b60008060408385031215614caa57600080614ca76143ea565b50505b6000614cb68585614920565b92505060206149d885828601614920565b60008060008060808587031215614ce657600080614ce36143ea565b50505b6000614cf28787614920565b9450506020614d0387828801614920565b9350506040614d1487828801614906565b9250506060614d2587828801614906565b91505092959194509250565b600080600060608486031215614d4f57600080614d4c6143ea565b50505b6000614d5b8686614920565b9350506020614d6c86828701614920565b9250506040614a2e86828701614920565b6000614d898383614efd565b505060200190565b6000614d898383614f17565b614da68161580c565b82525050565b614da6614db88261580c565b615876565b6000614dc983856157fe565b93506001600160fb1b03831115614de857600080614de56143ea565b50505b602083029250614df983858461583e565b50500190565b6000614e0a826157f4565b614e1481856157fe565b9350614e1f836157ee565b8060005b83811015614e4d578151614e378882614d7d565b9750614e42836157ee565b925050600101614e23565b509495945050505050565b6000614e63826157f4565b614e6d81856157fe565b9350614e78836157ee565b8060005b83811015614e4d578151614e908882614d91565b9750614e9b836157ee565b925050600101614e7c565b6000614eb1826157f4565b614ebb81856157fe565b9350614ec6836157ee565b8060005b83811015614e4d578151614ede8882614d7d565b9750614ee9836157ee565b925050600101614eca565b614da681615817565b614da6816107b4565b614da6614f12826107b4565b6107b4565b614da68161581c565b614da681615833565b6000614f34826157f4565b614f3e81856157fe565b9350614f4e81856020860161584a565b614f5781615887565b9093019392505050565b6000614f6e6035836157fe565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000614fc5601d836157fe565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b6000614ffe601b836157fe565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615037603f836157fe565b7f4973737565723a204f6e6c79207468652053796e746852656465656d6572206381527f6f6e74726163742063616e20706572666f726d207468697320616374696f6e00602082015260400192915050565b60006150966012836157fe565b714e6f206465627420746f20666f726769766560701b815260200192915050565b60006150c46010836157fe565b6f416d6f756e7420746f6f206c6172676560801b815260200192915050565b60006150f0601e836157fe565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615129601a836157fe565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615162601183615807565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061518f603b836157fe565b7f4973737565723a204f6e6c79207468652073796e74686574697820636f6e747281527f6163742063616e20706572666f726d207468697320616374696f6e0000000000602082015260400192915050565b60006151ee601e836157fe565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b60006152276014836157fe565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000615257602a836157fe565b7f43616e6e6f742072656d6f76652073796e746820746f2072656465656d20776981526974686f7574207261746560b01b602082015260400192915050565b60006152a3602f836157fe565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000615300601c836157fe565b7f53796e7468206164647265737320616c72656164792065786973747300000000815260200192915050565b60006153396021836157fe565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061537c6013836157fe565b72086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b815260200192915050565b60006153ab601983615807565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006153e4600c836157fe565b6b53796e74682065786973747360a01b815260200192915050565b600061540c601e836157fe565b7f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000815260200192915050565b60006154448285614f06565b6020820191506154548284614dac565b5060140192915050565b600061546982615155565b91506154758284614f06565b50602001919050565b60006154698261539e565b60208101610a1e8284614d9d565b604081016154a58285614d9d565b612d576020830184614d9d565b604081016154c08285614d9d565b612d576020830184614efd565b608081016154db8287614d9d565b6154e86020830186614efd565b6154f56040830185614efd565b613e736060830184614efd565b604081016155108285614d9d565b612d576020830184614f20565b6060810161552b8286614d9d565b6155386020830185614efd565b6149706040830184614efd565b60408082528101615557818587614dbd565b90508181036020830152613e738184614ea6565b60208082528101612d578184614dff565b60208082528101612d578184614e58565b60208101610a1e8284614ef4565b60208101610a1e8284614efd565b604081016154a58285614efd565b604081016154c08285614efd565b6060810161552b8286614efd565b604081016155108285614efd565b604081016155ef8285614efd565b81810360208301526149708184614f29565b6060810161560f8285614efd565b61561c6020830184614efd565b612d57604083016152e7565b60208101610a1e8284614f17565b604081016154c08285614f17565b60208082528101612d578184614f29565b60208082528101610a1e81614f61565b60208082528101610a1e81614fb8565b60208082528101610a1e81614ff1565b60208082528101610a1e8161502a565b60208082528101610a1e81615089565b60208082528101610a1e816150b7565b60208082528101610a1e816150e3565b60208082528101610a1e8161511c565b60208082528101610a1e81615182565b60208082528101610a1e816151e1565b60208082528101610a1e8161521a565b60208082528101610a1e8161524a565b60208082528101610a1e81615296565b60208082528101610a1e816152f3565b60208082528101610a1e8161532c565b60208082528101610a1e8161536f565b60208082528101610a1e816153d7565b60208082528101610a1e816153ff565b604081016157838285614efd565b612d576020830184614ef4565b6000604051905081810181811067ffffffffffffffff821117156157bc576000806157b96143ea565b50505b604052919050565b600067ffffffffffffffff8211156157e4576000806157e16143ea565b50505b5060209081020190565b60200190565b6000815192915050565b90815260200190565b919050565b6000610a1e82615827565b151590565b6000610a1e8261580c565b6001600160a01b031690565b6000610a1e826107b4565b82818337506000910152565b60005b8381101561586557808201518382015260200161584d565b838111156123cc5750506000910152565b6000610a1e826000610a1e82615891565b601f01601f191690565b60601b90565b6158a08161580c565b8114610b3357600080610a426143ea565b6158a081615817565b6158a0816107b4565b6158a08161581c56", "abi": [ { "inputs": [ @@ -17757,8 +18004,7 @@ ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "constructor" }, { "anonymous": false, @@ -17777,8 +18023,7 @@ } ], "name": "CacheUpdated", - "type": "event", - "signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68" + "type": "event" }, { "anonymous": false, @@ -17797,8 +18042,7 @@ } ], "name": "OwnerChanged", - "type": "event", - "signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + "type": "event" }, { "anonymous": false, @@ -17811,8 +18055,7 @@ } ], "name": "OwnerNominated", - "type": "event", - "signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22" + "type": "event" }, { "anonymous": false, @@ -17831,8 +18074,7 @@ } ], "name": "SynthAdded", - "type": "event", - "signature": "0x0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c62884" + "type": "event" }, { "anonymous": false, @@ -17851,8 +18093,7 @@ } ], "name": "SynthRemoved", - "type": "event", - "signature": "0x6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d0" + "type": "event" }, { "constant": true, @@ -17867,8 +18108,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x614d08f8" + "type": "function" }, { "constant": false, @@ -17877,8 +18117,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x79ba5097" + "type": "function" }, { "constant": false, @@ -17893,8 +18132,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x849cf588" + "type": "function" }, { "constant": false, @@ -17909,8 +18147,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x47a9b6db" + "type": "function" }, { "constant": true, @@ -17925,8 +18162,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x4e99bda9" + "type": "function" }, { "constant": true, @@ -17941,8 +18177,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x72cb051f" + "type": "function" }, { "constant": true, @@ -17957,8 +18192,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xdbf63340" + "type": "function" }, { "constant": true, @@ -17979,8 +18213,32 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x835e119c" + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "deprecatedSynthProxy", + "type": "address" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "name": "burnForRedemption", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" }, { "constant": false, @@ -18000,8 +18258,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb06e8c65" + "type": "function" }, { "constant": false, @@ -18026,8 +18283,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x9a5154b4" + "type": "function" }, { "constant": false, @@ -18042,8 +18298,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x497d704a" + "type": "function" }, { "constant": false, @@ -18063,8 +18318,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x2b3f41aa" + "type": "function" }, { "constant": true, @@ -18085,8 +18339,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xbff4fdfc" + "type": "function" }, { "constant": true, @@ -18107,8 +18360,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xa5fdc5de" + "type": "function" }, { "constant": true, @@ -18129,8 +18381,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xa311c7c2" + "type": "function" }, { "constant": true, @@ -18156,8 +18407,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xae3bbbbb" + "type": "function" }, { "constant": true, @@ -18183,8 +18433,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xd37c4d8b" + "type": "function" }, { "constant": true, @@ -18205,8 +18454,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x3b6afe40" + "type": "function" }, { "constant": true, @@ -18221,8 +18469,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x2af64bd3" + "type": "function" }, { "constant": true, @@ -18237,8 +18484,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xb410a034" + "type": "function" }, { "constant": false, @@ -18253,8 +18499,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xc8977132" + "type": "function" }, { "constant": false, @@ -18274,8 +18519,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xfd864ccf" + "type": "function" }, { "constant": false, @@ -18295,8 +18539,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x042e0688" + "type": "function" }, { "constant": false, @@ -18321,8 +18564,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x44ec6b62" + "type": "function" }, { "constant": true, @@ -18343,8 +18585,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0xdd3d2b2e" + "type": "function" }, { "constant": false, @@ -18380,8 +18621,7 @@ ], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa63c4df4" + "type": "function" }, { "constant": true, @@ -18402,8 +18642,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x05b3c1c9" + "type": "function" }, { "constant": true, @@ -18418,8 +18657,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x242df9e1" + "type": "function" }, { "constant": false, @@ -18434,8 +18672,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1627540c" + "type": "function" }, { "constant": true, @@ -18450,8 +18687,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x53a47bb7" + "type": "function" }, { "constant": true, @@ -18466,8 +18702,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x8da5cb5b" + "type": "function" }, { "constant": false, @@ -18476,8 +18711,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x74185360" + "type": "function" }, { "constant": true, @@ -18508,8 +18742,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x1137aedf" + "type": "function" }, { "constant": false, @@ -18524,8 +18757,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x0b887dae" + "type": "function" }, { "constant": false, @@ -18540,8 +18772,7 @@ "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x7168d2c2" + "type": "function" }, { "constant": true, @@ -18556,8 +18787,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x04f3bcec" + "type": "function" }, { "constant": true, @@ -18572,8 +18802,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x899ffef4" + "type": "function" }, { "constant": true, @@ -18594,8 +18823,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x32608039" + "type": "function" }, { "constant": true, @@ -18616,8 +18844,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x16b2213f" + "type": "function" }, { "constant": true, @@ -18629,7 +18856,7 @@ }, { "internalType": "bool", - "name": "excludeEtherCollateral", + "name": "excludeOtherCollateral", "type": "bool" } ], @@ -18643,8 +18870,7 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x7b1001b7" + "type": "function" }, { "constant": true, @@ -18675,15 +18901,14 @@ ], "payable": false, "stateMutability": "view", - "type": "function", - "signature": "0x6bed0415" + "type": "function" } ], "source": { - "keccak256": "0x99427c7a4a9d24d9ba70b50c0673d2332583cb284a42a9ada75a2ac3ddf9a27f", + "keccak256": "0x4695800cf0b37140c2dcc972e94e08f1a3c8d0a96613303cf7866aa3dd2a5de0", "urls": [ - "bzz-raw://6bf5002bfd84db183416a93e2cb098d009cbeff9f94a0ffd3f917f02b82c6084", - "dweb:/ipfs/QmPEzJvcnzE4aNHwnAbY8a1UXsumhpwAL8FfR9bYjhV1SD" + "bzz-raw://09c66a2950d59211be114106c68a308020fd3ec6a1746cc86617363a4c251c49", + "dweb:/ipfs/QmbArfAcGyXjPPCtNPE2yMP1kpXVRwASqz97sieqWPwaBv" ] }, "metadata": { @@ -18705,10 +18930,10 @@ }, "sources": { "IssuerWithoutLiquidations.sol": { - "keccak256": "0x99427c7a4a9d24d9ba70b50c0673d2332583cb284a42a9ada75a2ac3ddf9a27f", + "keccak256": "0x4695800cf0b37140c2dcc972e94e08f1a3c8d0a96613303cf7866aa3dd2a5de0", "urls": [ - "bzz-raw://6bf5002bfd84db183416a93e2cb098d009cbeff9f94a0ffd3f917f02b82c6084", - "dweb:/ipfs/QmPEzJvcnzE4aNHwnAbY8a1UXsumhpwAL8FfR9bYjhV1SD" + "bzz-raw://09c66a2950d59211be114106c68a308020fd3ec6a1746cc86617363a4c251c49", + "dweb:/ipfs/QmbArfAcGyXjPPCtNPE2yMP1kpXVRwASqz97sieqWPwaBv" ] } }, @@ -23383,6 +23608,4676 @@ }, "version": 1 } + }, + "SynthRedeemer": { + "bytecode": "60806040523480156200001c576000806200001962000099565b50505b506040516200194738038062001947833981810160405260208110156200004d576000806200004a62000099565b50505b810190808051925082915081905060006001816200006a62000106565b816001600160a01b0302191690836001600160a01b03160217906200008e62000168565b5050505050620001b7565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620000d3578086015182820160400152602001620000b6565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000163576000828201526020016200014a565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200014a565b61178080620001c76000396000f3fe608060405234801561001957600080610016611407565b50505b50600436106100bd5760003560e01c806395a2251f1161007a57806395a2251f146101bf5780639bc3f269146101ee578063b915ece01461021d578063d6232e8914610252578063e4dc2aa4146102e6578063f7888aec14610315576100bd565b806304f3bcec146100cb5780632af64bd3146100ef5780633a70599c1461010b578063614d08f814610142578063741853601461015c578063899ffef414610164575b6000806100c8611407565b50505b6100d361034c565b6040516001600160a01b03909116815260200160405180910390f35b6100f761036a565b604051901515815260200160405180910390f35b6101406004803603604081101561012a57600080610127611407565b50505b506001600160a01b0381351690602001356104f9565b005b61014a61088e565b60405190815260200160405180910390f35b6101406108a2565b61016c610ad4565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156101ab578082015183820152602001610193565b505050509050019250505060405180910390f35b610140600480360360208110156101de576000806101db611407565b50505b50356001600160a01b0316610b50565b61014a6004803603602081101561020d5760008061020a611407565b50505b50356001600160a01b0316610c16565b6101406004803603604081101561023c57600080610239611407565b50505b506001600160a01b038135169060200135610c31565b610140600480360360208110156102715760008061026e611407565b50505b81019060208101813564010000000081111561029557600080610292611407565b50505b8201836020820111156102b0576000806102ad611407565b50505b803590602001918460208302840111640100000000831117156102db576000806102d8611407565b50505b509092509050610d4b565b61014a6004803603602081101561030557600080610302611407565b50505b50356001600160a01b0316610db5565b61014a6004803603604081101561033457600080610331611407565b50505b506001600160a01b0381358116916020013516610e86565b600080610357611472565b906101000a90046001600160a01b031681565b60006060610376610ad4565b905060005b81518110156104ef57600082828151811061039257fe5b602002602001015160008181526001602052909150604090206000906103b6611472565b6001600160a01b036101009290920a9004166000806103d3611472565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806104246114cd565b15801561043957600080610436611407565b50505b505a610443611519565b5050505050158015610462573d6000803e3d600061045f611407565b50505b505050506040513d60208110156104815760008061047e611407565b50505b8101908080516001600160a01b0316939093141592508291506104d59050575060008181526001602052604081206000906104ba611472565b906101000a90046001600160a01b03166001600160a01b0316145b156104e657600093505050506104f6565b5060010161037b565b5060019150505b90565b610501610efa565b6001600160a01b03821660009081526002602052829060409020610523611472565b1561057d5760405162461bcd60e51b815260206004820152601b60248201527f53796e746820697320616c72656164792064657072656361746564000000000060448201526064016040518091039061057a611407565b50505b600082116105da5760405162461bcd60e51b815260206004820152601b60248201527f4e6f207261746520666f722073796e746820746f2072656465656d00000000006044820152606401604051809103906105d7611407565b50505b6000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186806106106114cd565b15801561062557600080610622611407565b50505b505a61062f611519565b505050505015801561064e573d6000803e3d600061064b611407565b50505b505050506040513d602081101561066d5760008061066a611407565b50505b81019080805193506000925061068d91508390508563ffffffff610f7616565b905080610698610fa0565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156106fc576000828201526020016106e5565b5050506040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806107396114cd565b15801561074e5760008061074b611407565b50505b505a610758611519565b5050505050158015610777573d6000803e3d6000610774611407565b50505b505050506040513d602081101561079657600080610793611407565b50505b810190808051939093101592506107ff9150505760405162461bcd60e51b815260206004820152601b60248201527f73555344206d75737420666972737420626520737570706c69656400000000006044820152606401604051809103906107fc611407565b50505b6001600160a01b038316600090815260026020528490604090208190610823611604565b5050507f729d5d4b6f2f5105eb1f707c4929870479e07c211953ef7014da9463fb15d88a8585848460405180856001600160a01b03166001600160a01b0316815260200184815260200183815260200182815260200194505050505060405180910390a15050505050565b6c29bcb73a342932b232b2b6b2b960991b81565b60606108ac610ad4565b905060005b8151811015610ad05760008282815181106108c857fe5b60200260200101519050600080806108de611472565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561099357808201518382015260200161097b565b50505050905090810190601f1680156109c05780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186806109d96114cd565b1580156109ee576000806109eb611407565b50505b505a6109f8611519565b5050505050158015610a17573d6000803e3d6000610a14611407565b50505b505050506040513d6020811015610a3657600080610a33611407565b50505b8101908080516000868152600160205290945084935060409250905020600181610a5e611472565b816001600160a01b0302191690836001600160a01b0316021790610a80611604565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a150506001016108b1565b5050565b60606002604051908082528060200260200182016040528015610b01578160200160208202803883390190505b5090506524b9b9bab2b960d11b81600081518110610b1b57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b81600181518110610b4157fe5b60200260200101818152505090565b610c1381826001600160a01b03166370a082315a610b6c611652565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610ba66114cd565b158015610bbb57600080610bb8611407565b50505b505a610bc5611519565b5050505050158015610be4573d6000803e3d6000610be1611407565b50505b505050506040513d6020811015610c0357600080610c00611407565b50505b8101908080519250610fbc915050565b50565b60026020528060005260406000209050610c2e611472565b81565b80826001600160a01b03166370a082315a610c4a611652565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610c846114cd565b158015610c9957600080610c96611407565b50505b505a610ca3611519565b5050505050158015610cc2573d6000803e3d6000610cbf611407565b50505b505050506040513d6020811015610ce157600080610cde611407565b50505b81019080805193909310159250610d419150505760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640160405180910390610d3e611407565b50505b610ad08282610fbc565b60005b81811015610db057610da8838383818110610d6557fe5b905060200201356001600160a01b0316848484818110610d8157fe5b905060200201356001600160a01b03166001600160a01b03166370a082315a610b6c611652565b600101610d4e565b505050565b6001600160a01b03811660009081526002602052610e8060408220610dd8611472565b836001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680610e0c6114cd565b158015610e2157600080610e1e611407565b50505b505a610e2b611519565b5050505050158015610e4a573d6000803e3d6000610e47611407565b50505b505050506040513d6020811015610e6957600080610e66611407565b50505b8101908080519392505063ffffffff610f76169050565b92915050565b6001600160a01b03821660009081526002602052610ef360408220610ea9611472565b846001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610e0c6114cd565b9392505050565b610f02611289565b6001600160a01b03165a610f14611652565b6001600160a01b031614610f745760405162461bcd60e51b815260206004820152601d60248201527f5265737472696374656420746f2049737375657220636f6e7472616374000000604482015260640160405180910390610ad0611407565b565b6000670de0b6b3a7640000610f91848463ffffffff61129d16565b81610f9857fe5b049392505050565b6000610fb76814de5b9d1a1cd554d160ba1b611305565b905090565b6001600160a01b0382166000908152600260205260408120610fdc611472565b9050600081116110325760405162461bcd60e51b815260206004820152601460248201527353796e7468206e6f742072656465656d61626c6560601b60448201526064016040518091039061102f611407565b50505b6000821161108f5760405162461bcd60e51b815260206004820152601d60248201527f4e6f2062616c616e6365206f662073796e746820746f2072656465656d00000060448201526064016040518091039061108c611407565b50505b611097611289565b6001600160a01b031663d686c06c845a6110af611652565b856040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529190921660248201526044810191909152606401600060405180830381600087806110fd6114cd565b1580156111125760008061110f611407565b50505b505a61111c611698565b50505050505015801561113c573d6000803e3d6000611139611407565b50505b5050505060006111558284610f7690919063ffffffff16565b905061115f610fa0565b6001600160a01b031663a9059cbb5a611176611652565b836040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087806111b86114cd565b1580156111cd576000806111ca611407565b50505b505a6111d7611698565b5050505050501580156111f7573d6000803e3d60006111f4611407565b50505b505050506040513d602081101561121657600080611213611407565b50505b810190808051507f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef9250869150505a61124d611652565b85846040516001600160a01b0394851681529290931660208301526040808301919091526060820192909252608001905180910390a150505050565b6000610fb76524b9b9bab2b960d11b611305565b6000826112ac57506000610e80565b828202828482816112b957fe5b0414610ef35760405162461bcd60e51b815260040180806020018281038252602181526020018061175f60219139604001915050604051809103906112fc611407565b50509392505050565b60008181526001602052806040812060009061131f611472565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906114005760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113bc5780820151838201526020016113a4565b50505050905090810190601f1680156113e95780820380516001836020036101000a031916815260200191505b5092505050604051809103906113fd611407565b50505b5092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561143f578086015182820160400152602001611424565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610db0576000828201526020016114b6565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206114b6565b638540661f598160e01b815261154a565b8080831115610e80575090919050565b8080831015610e80575090919050565b836004820152846024820152606060448201528660648201526084810160005b8881101561158257808801518282015260200161156a565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596115d78d3d61153a565b8c016115e3818761152a565b5b828110156115f857600081526020016115e4565b50929c50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206114b6565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206114b6565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b898110156116dc5780890151828201526020016116c4565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596117318e3d61153a565b8d0161173d818761152a565b5b82811015611752576000815260200161173e565b50929d5050505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synth", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rateToRedeem", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalSynthSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "supplyInsUSD", + "type": "uint256" + } + ], + "name": "SynthDeprecated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synth", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountOfSynth", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountInsUSD", + "type": "uint256" + } + ], + "name": "SynthRedeemed", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balanceInsUSD", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + }, + { + "internalType": "uint256", + "name": "rateToRedeem", + "type": "uint256" + } + ], + "name": "deprecate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + } + ], + "name": "redeem", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20[]", + "name": "synthProxies", + "type": "address[]" + } + ], + "name": "redeemAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountOfSynth", + "type": "uint256" + } + ], + "name": "redeemPartial", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "redemptions", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + } + ], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "supplyInsUSD", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b", + "urls": [ + "bzz-raw://bf0d27c1716b7e43b2345b15b6cb7218615b0c6aa9e6b8234480b0f4729a65cc", + "dweb:/ipfs/QmXq4EA3r3JYrWtgXfzjn5DFwapSXmJr6iKutCqgPJenA4" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SynthRedeemer.sol": "SynthRedeemer" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SynthRedeemer.sol": { + "keccak256": "0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b", + "urls": [ + "bzz-raw://bf0d27c1716b7e43b2345b15b6cb7218615b0c6aa9e6b8234480b0f4729a65cc", + "dweb:/ipfs/QmXq4EA3r3JYrWtgXfzjn5DFwapSXmJr6iKutCqgPJenA4" + ] + } + }, + "version": 1 + } + }, + "MultiCollateralSynth": { + "bytecode": "60806040523480156200001c5760008062000019620005d0565b50505b50604051620045043803806200450483398181016040526101008110156200004e576000806200004b620005d0565b50505b8101908080519291906020018051929190602001805160405193929190846401000000008211156200008a5760008062000087620005d0565b50505b908301906020820185811115620000ab57600080620000a8620005d0565b50505b8251640100000000811182820188101715620000d157600080620000ce620005d0565b50505b825250602001908051906020019080838360005b83811015620000ff578082015183820152602001620000e5565b50505050905090810190601f1680156200012d5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200015c5760008062000159620005d0565b50505b9083019060208201858111156200017d576000806200017a620005d0565b50505b8251640100000000811182820188101715620001a357600080620001a0620005d0565b50505b825250602001908051906020019080838360005b83811015620001d1578082015183820152602001620001b7565b50505050905090810190601f168015620001ff5780820380516001836020036101000a031916815260200191505b506040526020018051929190602001805192919060200180519291906020018051925089915088905087878787878780888888888660128a86816001600160a01b0381166200029f5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906200029c620005d0565b50505b806000600181620002af6200063d565b816001600160a01b0302191690836001600160a01b0316021790620002d36200069f565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200032c6200063d565b906101000a90046001600160a01b03166001600160a01b03161415620003975760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b60448201526064016040518091039062000394620005d0565b50505b806002600181620003a76200063d565b816001600160a01b0302191690836001600160a01b0316021790620003cb6200069f565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a1508560056001816200041c6200063d565b816001600160a01b0302191690836001600160a01b0316021790620004406200069f565b50505084600690805162000459929160200190620006ee565b5060078480516200046f929160200190620006ee565b50828060086200047e6200069f565b50505081600960006101000a81620004956200063d565b8160ff021916908360ff16021790620004ad6200069f565b5050505050505050505080600960016101000a81620004cb6200063d565b816001600160a01b0302191690836001600160a01b0316021790620004ef6200069f565b505050506001600160a01b0388166200054e5760405162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b6044820152606401604051809103906200054b620005d0565b50505b6001600160a01b038416620005a95760405162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015260640160405180910390620005a6620005d0565b50505b8280600b620005b76200069f565b50505050505050505050505050505050505050620007ca565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200060a578086015182820160400152602001620005ed565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200069a5760008282015260200162000681565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000681565b8280620006fa6200063d565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200074557805160ff191683800117856200073d6200069f565b50506200078b565b82800160010185620007566200069f565b505082156200078b579182015b828111156200078b57825182620007796200069f565b50509160200191906001019062000763565b50620007999291506200079d565b5090565b620007c791905b80821115620007995760008082620007bb6200069f565b505050600101620007a4565b90565b613d2a80620007da6000396000f3fe608060405234801561001957600080610016613896565b50505b506004361061021a5760003560e01c80638da5cb5b1161012e578063d67bdd25116100b6578063e90dd9e211610085578063e90dd9e2146106a4578063eb1edd61146106ac578063ec556889146106b4578063f7ea7a3d146106bc578063ffff51d6146106e25761021a565b8063d67bdd251461061e578063dbd06c8514610626578063dd62ed3e1461062e578063e73cced3146106655761021a565b80639dc29fac116100fd5780639dc29fac146105215780639f76980714610556578063a9059cbb14610585578063b014c3a3146105ba578063bc67f832146105ef5761021a565b80638da5cb5b146104da57806395d89b41146104e257806397107d6d146104ea5780639cbdaeb6146105195761021a565b80632e0f2625116101b157806370a082311161018057806370a082311461040b578063741853601461043a57806379ba509714610442578063867904b41461044a578063899ffef41461047f5761021a565b80632e0f2625146103d5578063313ce567146103f357806353a47bb7146103fb578063614d08f8146104035761021a565b80631627540c116101ed5780631627540c1461034557806318160ddd1461037457806323b872dd1461038e5780632af64bd3146103cd5761021a565b806304f3bcec1461022857806306fdde031461024c578063095ea7b3146102cb578063131b0ae714610314575b600080610225613896565b50505b610230610711565b6040516001600160a01b03909116815260200160405180910390f35b610254610730565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610290578082015183820152602001610278565b50505050905090810190601f1680156102bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610300600480360360408110156102ea576000806102e7613896565b50505b506001600160a01b0381351690602001356107e9565b604051901515815260200160405180910390f35b6103436004803603602081101561033357600080610330613896565b50505b50356001600160a01b03166108e7565b005b6103436004803603602081101561036457600080610361613896565b50505b50356001600160a01b0316610925565b61037c61099f565b60405190815260200160405180910390f35b610300600480360360608110156103ad576000806103aa613896565b50505b506001600160a01b038135811691602081013590911690604001356109ac565b6103006109d3565b6103dd610b63565b60405160ff909116815260200160405180910390f35b6103dd610b68565b610230610b81565b61037c610b8d565b61037c6004803603602081101561042a57600080610427613896565b50505b50356001600160a01b0316610ba8565b610343610c7c565b610343610eb0565b6103436004803603604081101561046957600080610466613896565b50505b506001600160a01b038135169060200135611033565b610487611211565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104c65780820151838201526020016104ae565b505050509050019250505060405180910390f35b6102306112b6565b6102546112c1565b6103436004803603602081101561050957600080610506613896565b50505b50356001600160a01b0316611363565b6102306113de565b610343600480360360408110156105405760008061053d613896565b50505b506001600160a01b0381351690602001356113ea565b6103436004803603602081101561057557600080610572613896565b50505b50356001600160a01b03166115c9565b610300600480360360408110156105a4576000806105a1613896565b50505b506001600160a01b038135169060200135611610565b610300600480360360408110156105d9576000806105d6613896565b50505b506001600160a01b0381351690602001356116d5565b6103436004803603602081101561060e5760008061060b613896565b50505b50356001600160a01b0316611905565b61023061191b565b61037c611927565b61037c6004803603604081101561064d5760008061064a613896565b50505b506001600160a01b0381358116916020013516611931565b6103006004803603606081101561068457600080610681613896565b50505b506001600160a01b03813581169160208101359091169060400135611a0c565b610230611bf4565b610230611c00565b610230611c18565b610343600480360360208110156106db576000806106d8613896565b50505b5035611c24565b61037c60048036036020811015610701576000806106fe613896565b50505b50356001600160a01b0316611c38565b6001600961071d613901565b906101000a90046001600160a01b031681565b60068061073b613901565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610775613901565b600181600116156101000203166002900480156107e15780601f106107af5761010080836107a1613901565b0402835291602001916107e1565b820191906000526020600020905b816107c6613901565b815290600101906020018083116107bd57829003601f168201915b505050505081565b60006107f3611e14565b6000806004610800613901565b906101000a90046001600160a01b03169050600560009061081f613901565b906101000a90046001600160a01b03166001600160a01b031663da46098c8286866040516001600160e01b031960e086901b1681526001600160a01b03938416600482015291909216602482015260448101919091526064016000604051808303816000878061088d61395c565b1580156108a25760008061089f613896565b50505b505a6108ac6139a8565b5050505050501580156108cc573d6000803e3d60006108c9613896565b50505b505050506108db818585611eec565b60019150505b92915050565b6108ef612064565b8060036001816108fd613901565b816001600160a01b0302191690836001600160a01b031602179061091f613a93565b50505050565b61092d612064565b806001808061093a613901565b816001600160a01b0302191690836001600160a01b031602179061095c613a93565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60086109a9613901565b81565b60006109b6611e14565b6109c084836120dc565b6109cb8484846122ce565b949350505050565b600060606109df611211565b905060005b8151811015610b595760008282815181106109fb57fe5b60200260200101516000818152600a60205290915060409020600090610a1f613901565b6001600160a01b036101009290920a90041660016009610a3d613901565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610a8e61395c565b158015610aa357600080610aa0613896565b50505b505a610aad613ae1565b5050505050158015610acc573d6000803e3d6000610ac9613896565b50505b505050506040513d6020811015610aeb57600080610ae8613896565b50505b8101908080516001600160a01b031693909314159250829150610b3f905057506000818152600a60205260408120600090610b24613901565b906101000a90046001600160a01b03166001600160a01b0316145b15610b505760009350505050610b60565b506001016109e4565b5060019150505b90565b601281565b60006009610b74613901565b906101000a900460ff1681565b6000600161071d613901565b7309aead8e8d286ded8d8c2e8cae4c2d8a6f2dce8d60631b81565b6000806005610bb5613901565b906101000a90046001600160a01b03166001600160a01b03166370a08231836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610c0e61395c565b158015610c2357600080610c20613896565b50505b505a610c2d613ae1565b5050505050158015610c4c573d6000803e3d6000610c49613896565b50505b505050506040513d6020811015610c6b57600080610c68613896565b50505b81019080805193505050505b919050565b6060610c86611211565b905060005b8151811015610eac576000828281518110610ca257fe5b60200260200101519050600060016009610cba613901565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d6f578082015183820152602001610d57565b50505050905090810190601f168015610d9c5780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818680610db561395c565b158015610dca57600080610dc7613896565b50505b505a610dd4613ae1565b5050505050158015610df3573d6000803e3d6000610df0613896565b50505b505050506040513d6020811015610e1257600080610e0f613896565b50505b8101908080516000868152600a60205290945084935060409250905020600181610e3a613901565b816001600160a01b0302191690836001600160a01b0316021790610e5c613a93565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101610c8b565b5050565b60006001610ebc613901565b906101000a90046001600160a01b03166001600160a01b03165a610ede613ba7565b6001600160a01b031614610f2c5760405162461bcd60e51b8152600401808060200182810382526035815260200180613bee6035913960400191505060405180910390610f29613896565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610f58613901565b906101000a90046001600160a01b03166001600090610f75613901565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610fb4613901565b906101000a90046001600160a01b03166000806101000a81610fd4613901565b816001600160a01b0302191690836001600160a01b0316021790610ff6613a93565b5050506000600160006101000a8161100c613901565b816001600160a01b0302191690836001600160a01b031602179061102e613a93565b505050565b600061103d612599565b6001600160a01b03165a61104f613ba7565b6001600160a01b031614905060006110656125b3565b6001600160a01b03165a611077613ba7565b6001600160a01b0316149050600061108d6125ca565b6001600160a01b03165a61109f613ba7565b6001600160a01b031614905060006110b56125de565b6001600160a01b03165a6110c7613ba7565b6001600160a01b031614905060006110dd6125f8565b6001600160a01b031663b38988f75a6110f4613ba7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061112e61395c565b15801561114357600080611140613896565b50505b505a61114d613ae1565b505050505015801561116c573d6000803e3d6000611169613896565b50505b505050506040513d602081101561118b57600080611188613896565b50505b81019080805193508792508291506111a290505750835b806111aa5750825b806111b25750815b806111ba5750805b6111fe5760405162461bcd60e51b8152600401808060200182810382526042815260200180613ca260429139606001915050604051809103906111fb613896565b50505b6112088787612617565b50505050505050565b60608061121c6127da565b90506060600260405190808252806020026020018201604052801561124b578160200160208202803883390190505b5090507021b7b63630ba32b930b626b0b730b3b2b960791b8160008151811061127057fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b8160018151811061129957fe5b6020026020010181815250506112af82826128a3565b9250505090565b60008061071d613901565b6007806112cc613901565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280611306613901565b600181600116156101000203166002900480156107e15780601f106113325761010080836107a1613901565b820191906000526020600020905b81611349613901565b815290600101906020018083116113405750859350505050565b61136b612064565b806002600181611379613901565b816001600160a01b0302191690836001600160a01b031602179061139b613a93565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150565b6000600361071d613901565b60006113f4612599565b6001600160a01b03165a611406613ba7565b6001600160a01b0316149050600061141c6125b3565b6001600160a01b03165a61142e613ba7565b6001600160a01b031614905060006114446125ca565b6001600160a01b03165a611456613ba7565b6001600160a01b0316149050600061146c6125de565b6001600160a01b03165a61147e613ba7565b6001600160a01b031614905060006114946125f8565b6001600160a01b031663b38988f75a6114ab613ba7565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806114e561395c565b1580156114fa576000806114f7613896565b50505b505a611504613ae1565b5050505050158015611523573d6000803e3d6000611520613896565b50505b505050506040513d60208110156115425760008061153f613896565b50505b810190808051935087925082915061155990505750835b806115615750825b806115695750815b806115715750805b6115b55760405162461bcd60e51b8152600401808060200182810382526042815260200180613ca260429139606001915050604051809103906115b2613896565b50505b6115bf878761295f565b5050505050505050565b6115d1612ab8565b8060056001816115df613901565b816001600160a01b0302191690836001600160a01b0316021790611601613a93565b50505061160d81612c43565b50565b600061161a611e14565b61163f60006004611629613901565b906101000a90046001600160a01b0316836120dc565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156116755761166e8383612dce565b90506108e1565b6001600160a01b0383166116a85761166e60006004611692613901565b906101000a90046001600160a01b03168361295f565b6116ce600060046116b7613901565b906101000a90046001600160a01b03168484613017565b9392505050565b60006116df611e14565b60006116e96125b3565b6001600160a01b0316631b16802c60006004611703613901565b906101000a90046001600160a01b0316600b61171d613901565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016060604051808303816000878061175e61395c565b15801561177357600080611770613896565b50505b505a61177d6139a8565b50505050505015801561179d573d6000803e3d600061179a613896565b50505b505050506040513d60608110156117bc576000806117b9613896565b50505b81019080805192919060200180519291906020018051955087945050841592506118c591505057600060056117ef613901565b6001600160a01b036101009290920a9004166370a0823160006004611812613901565b906101000a90046001600160a01b03166040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061185c61395c565b1580156118715760008061186e613896565b50505b505a61187b613ae1565b505050505015801561189a573d6000803e3d6000611897613896565b50505b505050506040513d60208110156118b9576000806118b6613896565b50505b81019080805193505050505b8084116118d257836118d4565b805b93506118fc600060046118e5613901565b906101000a90046001600160a01b03168686613017565b95945050505050565b61190d613365565b8060046001816108fd613901565b6000600461071d613901565b600b6109a9613901565b600080600561193e613901565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e84846040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061199f61395c565b1580156119b4576000806119b1613896565b50505b505a6119be613ae1565b50505050501580156119dd573d6000803e3d60006119da613896565b50505b505050506040513d60208110156119fc576000806119f9613896565b50505b8101908080519695505050505050565b6000611a16611e14565b6000611a206125b3565b6001600160a01b0316631b16802c86600b611a39613901565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160606040518083038160008780611a7a61395c565b158015611a8f57600080611a8c613896565b50505b505a611a996139a8565b505050505050158015611ab9573d6000803e3d6000611ab6613896565b50505b505050506040513d6060811015611ad857600080611ad5613896565b50505b8101908080519291906020018051929190602001805195508794505084159250611bcd9150505760006005611b0b613901565b906101000a90046001600160a01b03166001600160a01b03166370a08231876040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611b6461395c565b158015611b7957600080611b76613896565b50505b505a611b83613ae1565b5050505050158015611ba2573d6000803e3d6000611b9f613896565b50505b505050506040513d6020811015611bc157600080611bbe613896565b50505b81019080805193505050505b80841015611bdb5783611bdd565b805b9350611bea8686866122ce565b9695505050505050565b6000600561071d613901565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6000600261071d613901565b611c2c612ab8565b8080600861091f613a93565b600080611c436125b3565b6001600160a01b03166319d5c66584600b611c5c613901565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016060604051808303818680611c9b61395c565b158015611cb057600080611cad613896565b50505b505a611cba613ae1565b5050505050158015611cd9573d6000803e3d6000611cd6613896565b50505b505050506040513d6060811015611cf857600080611cf5613896565b50505b81019080805192919060200180519291906020018051509394506000935083925060059150611d279050613901565b906101000a90046001600160a01b03166001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611d8061395c565b158015611d9557600080611d92613896565b50505b505a611d9f613ae1565b5050505050158015611dbe573d6000803e3d6000611dbb613896565b50505b505050506040513d6020811015611ddd57600080611dda613896565b50505b810190808051935050505080821115611dfb57600092505050610c77565b611e0b818363ffffffff61343216565b92505050610c77565b60006002611e20613901565b906101000a90046001600160a01b03166001600160a01b03165a611e42613ba7565b6001600160a01b031614158015611e8e575060006003611e60613901565b906101000a90046001600160a01b03166001600160a01b03165a611e82613ba7565b6001600160a01b031614155b8015611ecf57505a611e9e613ba7565b6001600160a01b031660006004611eb3613901565b906101000a90046001600160a01b03166001600160a01b031614155b15611eea575a611edd613ba7565b600460018161100c613901565b565b60006002611ef8613901565b906101000a90046001600160a01b03166001600160a01b031663907dff9782604051602001808281526020019150506040516020818303038152906040526003604051806021613c81823960210190506040518091039020611f5988613497565b611f6288613497565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015611fd1578082015183820152602001611fb9565b50505050905090810190601f168015611ffe5780820380516001836020036101000a031916815260200191505b509750505050505050506000604051808303816000878061201d61395c565b1580156120325760008061202f613896565b50505b505a61203c6139a8565b505050505050158015611208573d6000803e3d6000612059613896565b505050505050505050565b60008061206f613901565b906101000a90046001600160a01b03166001600160a01b03165a612091613ba7565b6001600160a01b031614611eea5760405162461bcd60e51b815260040180806020018281038252602f815260200180613c52602f913960400191505060405180910390610eac613896565b6120e46125b3565b6001600160a01b031663059c29ec83600b6120fd613901565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381868061213c61395c565b1580156121515760008061214e613896565b50505b505a61215b613ae1565b505050505015801561217a573d6000803e3d6000612177613896565b50505b505050506040513d602081101561219957600080612196613896565b50505b8101908080511592506121e99150505760405162461bcd60e51b8152600401808060200182810382526025815260200180613ce460259139604001915050604051809103906121e6613896565b50505b806121f383611c38565b10156122395760405162461bcd60e51b815260040180806020018281038252602f815260200180613c23602f913960400191505060405180910390612236613896565b50505b6122416134a3565b6001600160a01b03166342a28e21600b612259613901565b6040516001600160e01b031960e084901b1681526004810191909152602401600060405180830381868061228b61395c565b1580156122a05760008061229d613896565b50505b505a6122aa613ae1565b50505050501580156122c6573d6000803e3d60006115bf613896565b505050505050565b60006000198160056122de613901565b6001600160a01b036101009290920a90041663dd62ed3e8660006004612302613901565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061235361395c565b15801561236857600080612365613896565b50505b505a612372613ae1565b5050505050158015612391573d6000803e3d600061238e613896565b50505b505050506040513d60208110156123b0576000806123ad613896565b50505b81019080805193909314925061258e91505057600060056123cf613901565b6001600160a01b036101009290920a90041663da46098c85600060046123f3613901565b906101000a90046001600160a01b03166124fd866005600090612414613901565b6001600160a01b036101009290920a90041663dd62ed3e8b60006004612438613901565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061248961395c565b15801561249e5760008061249b613896565b50505b505a6124a8613ae1565b50505050501580156124c7573d6000803e3d60006124c4613896565b50505b505050506040513d60208110156124e6576000806124e3613896565b50505b8101908080519392505063ffffffff613432169050565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015291909216602482015260448101919091526064016000604051808303816000878061254a61395c565b15801561255f5760008061255c613896565b50505b505a6125696139a8565b505050505050158015612589573d6000803e3d6000612586613896565b50505b505050505b6109cb848484613017565b60006125ae66119959541bdbdb60ca1b6134b9565b905090565b60006125ae6822bc31b430b733b2b960b91b6134b9565b60006125ae6524b9b9bab2b960d11b6134b9565b60006125ae6b22ba3432b92bb930b83832b960a11b6134b9565b60006125ae7021b7b63630ba32b930b626b0b730b3b2b960791b6134b9565b60006005612623613901565b6001600160a01b036101009290920a90041663b46310f683612718846000600561264b613901565b906101000a90046001600160a01b03166001600160a01b03166370a08231886040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806126a461395c565b1580156126b9576000806126b6613896565b50505b505a6126c3613ae1565b50505050501580156126e2573d6000803e3d60006126df613896565b50505b505050506040513d6020811015612701576000806126fe613896565b50505b8101908080519392505063ffffffff6135ba169050565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061275961395c565b15801561276e5760008061276b613896565b50505b505a6127786139a8565b505050505050158015612798573d6000803e3d6000612795613896565b50505b505050506127b68160086127aa613901565b9063ffffffff6135ba16565b8060086127c1613a93565b5050506127d060008383613622565b610eac828261368f565b60606004604051908082528060200260200182016040528015612807578160200160208202803883390190505b5090506b53797374656d53746174757360a01b8160008151811061282757fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061284d57fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061287057fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061289457fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156128d3578160200160208202803883390190505b50905060005b8351811015612915578381815181106128ee57fe5b602002602001015182828151811061290257fe5b60209081029190910101526001016128d9565b5060005b82518110156129585782818151811061292e57fe5b602002602001015182828651018151811061294557fe5b6020908102919091010152600101612919565b5092915050565b600080600561296c613901565b6001600160a01b036101009290920a90041663b46310f6846129ed8560006005612994613901565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061248961395c565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612a2e61395c565b158015612a4357600080612a40613896565b50505b505a612a4d6139a8565b505050505050158015612a6d573d6000803e3d6000612a6a613896565b50505b50505050612a8b826008612a7f613901565b9063ffffffff61343216565b806008612a96613a93565b505050612aa583600084613622565b612aaf8383613810565b50600192915050565b60006002612ac4613901565b906101000a90046001600160a01b03166001600160a01b03165a612ae6613ba7565b6001600160a01b031614158015612b32575060006003612b04613901565b906101000a90046001600160a01b03166001600160a01b03165a612b26613ba7565b6001600160a01b031614155b8015612b7357505a612b42613ba7565b6001600160a01b031660006004612b57613901565b906101000a90046001600160a01b03166001600160a01b031614155b15612bb4575a612b81613ba7565b6004600181612b8e613901565b816001600160a01b0302191690836001600160a01b0316021790612bb0613a93565b5050505b600080612bbf613901565b6001600160a01b036101009290920a90041660006004612bdd613901565b906101000a90046001600160a01b03166001600160a01b031614611eea5760405162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015260640160405180910390610eac613896565b60006002612c4f613901565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516001600160a01b0390911660208201526040908101905160208183030381529060405260016040517f546f6b656e5374617465557064617465642861646472657373290000000000008152601a01604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612d3f578082015183820152602001612d27565b50505050905090810190601f168015612d6c5780820380516001836020036101000a031916815260200191505b5097505050505050505060006040518083038160008780612d8b61395c565b158015612da057600080612d9d613896565b50505b505a612daa6139a8565b505050505050158015612dc7573d6000803e3d6000611208613896565b5050505050565b600080600b612ddb613901565b631cd554d160e21b1415612e17575081612e1160006004612dfa613901565b906101000a90046001600160a01b03168585613017565b50612f7f565b612e1f6125b3565b6001600160a01b0316634f8633d260006004612e39613901565b906101000a90046001600160a01b03166004600090612e56613901565b906101000a90046001600160a01b0316600b612e70613901565b8773feefeefeefeefeefeefeefeefeefeefeefeefeef600080806040516001600160e01b031960e08b901b1681526001600160a01b039889166004820152968816602488015260448701959095526064860193909352631cd554d160e21b608486015290851660a4850152151560c484015290921660e482015261010481019190915261012401604080518083038160008780612f0b61395c565b158015612f2057600080612f1d613896565b50505b505a612f2a6139a8565b505050505050158015612f4a573d6000803e3d6000612f47613896565b50505b505050506040513d6040811015612f6957600080612f66613896565b50505b8101908080519291906020018051509293505050505b612f87612599565b6001600160a01b03166322bf55ef826040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780612fca61395c565b158015612fdf57600080612fdc613896565b50505b505a612fe96139a8565b505050505050158015613009573d6000803e3d6000613006613896565b50505b506001979650505050505050565b60006001600160a01b0383161580159061309b57505a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156130825760008282015260200161306b565b5050506001600160a01b0316836001600160a01b031614155b80156130d45750600060026130ae613901565b906101000a90046001600160a01b03166001600160a01b0316836001600160a01b031614155b61312d5760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f207468697320616464726573730060448201526064016040518091039061312a613896565b50505b60006005613139613901565b6001600160a01b036101009290920a90041663b46310f6856131ba8560006005613161613901565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061248961395c565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806131fb61395c565b1580156132105760008061320d613896565b50505b505a61321a6139a8565b50505050505015801561323a573d6000803e3d6000613237613896565b50505b50505050600560009061324b613901565b6001600160a01b036101009290920a90041663b46310f6846132cc8560006005613273613901565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806126a461395c565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061330d61395c565b1580156133225760008061331f613896565b50505b505a61332c6139a8565b50505050505015801561334c573d6000803e3d6000613349613896565b50505b5050505061335b848484613622565b5060019392505050565b60006002613371613901565b906101000a90046001600160a01b03166001600160a01b03165a613393613ba7565b6001600160a01b031614806133dc5750600060036133af613901565b906101000a90046001600160a01b03166001600160a01b03165a6133d1613ba7565b6001600160a01b0316145b611eea5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015260640160405180910390610eac613896565b6000828211156134915760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016040518091039061348e613896565b50505b50900390565b6001600160a01b031690565b60006125ae6b53797374656d53746174757360a01b5b6000818152600a60205280604081206000906134d3613901565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906129585760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613570578082015183820152602001613558565b50505050905090810190601f16801561359d5780820380516001836020036101000a031916815260200191505b5092505050604051809103906135b1613896565b50505092915050565b6000828201838110156116ce5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390613619613896565b50509392505050565b6000600261362e613901565b906101000a90046001600160a01b03166001600160a01b031663907dff9782604051602001808281526020019150506040516020818303038152906040526003604051806021613d09823960210190506040518091039020611f5988613497565b6000600261369b613901565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260026040517f49737375656428616464726573732c75696e74323536290000000000000000008152601701604051809103902061371587613497565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015613788578082015183820152602001613770565b50505050905090810190601f1680156137b55780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806137d461395c565b1580156137e9576000806137e6613896565b50505b505a6137f36139a8565b5050505050501580156122c6573d6000803e3d60006115bf613896565b6000600261381c613901565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260026040517f4275726e656428616464726573732c75696e74323536290000000000000000008152601701604051809103902061371587613497565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156138ce5780860151828201604001526020016138b3565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561102e57600082820152602001613945565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613945565b6385979f76598160e01b81526139d9565b80808311156108e1575090919050565b80808310156108e1575090919050565b836004820152846024820152606060448201528760648201526084810160005b89811015613a115780890151828201526020016139f9565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059613a668e3d6139c9565b8d01613a7281876139b9565b5b82811015613a875760008152602001613a73565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020613945565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b88811015613b25578088015182820152602001613b0d565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059613b7a8d3d6139c9565b8c01613b8681876139b9565b5b82811015613b9b5760008152602001613b87565b50929c50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061394556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e74323536294f6e6c7920466565506f6f6c2c2045786368616e6765722c204973737565722c204d756c7469436f6c6c61746572616c20636f6e74726163747320616c6c6f77656443616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629", + "abi": [ + { + "inputs": [ + { + "internalType": "address payable", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "contract TokenState", + "name": "_tokenState", + "type": "address" + }, + { + "internalType": "string", + "name": "_tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "_tokenSymbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Burned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Issued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "proxyAddress", + "type": "address" + } + ], + "name": "ProxyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newTokenState", + "type": "address" + } + ], + "name": "TokenStateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "DECIMALS", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "FEE_ADDRESS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currencyKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "integrationProxy", + "outputs": [ + { + "internalType": "contract Proxy", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "issue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "messageSender", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "proxy", + "outputs": [ + { + "internalType": "contract Proxy", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "_integrationProxy", + "type": "address" + } + ], + "name": "setIntegrationProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "setMessageSender", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "_proxy", + "type": "address" + } + ], + "name": "setProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract TokenState", + "name": "_tokenState", + "type": "address" + } + ], + "name": "setTokenState", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setTotalSupply", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "tokenState", + "outputs": [ + { + "internalType": "contract TokenState", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferAndSettle", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFromAndSettle", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "transferableSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x35dcf439abb5d7d4fe158f8f72fe2868789beaff403fc1a65bfbf07d1d6b927f", + "urls": [ + "bzz-raw://fd2354ac8ba0a44f26b6df286988f97287b3ae4d930a65c5c4c0b70650422c07", + "dweb:/ipfs/QmNmR312QZfSXhnuvAF42YqYWbt4neW71Ro5ETBQuMJvaa" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "MultiCollateralSynth.sol": "MultiCollateralSynth" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "MultiCollateralSynth.sol": { + "keccak256": "0x35dcf439abb5d7d4fe158f8f72fe2868789beaff403fc1a65bfbf07d1d6b927f", + "urls": [ + "bzz-raw://fd2354ac8ba0a44f26b6df286988f97287b3ae4d930a65c5c4c0b70650422c07", + "dweb:/ipfs/QmNmR312QZfSXhnuvAF42YqYWbt4neW71Ro5ETBQuMJvaa" + ] + } + }, + "version": 1 + } + }, + "CollateralUtil": { + "bytecode": "60806040523480156200001c576000806200001962000081565b50505b5060405162001ce638038062001ce68339810160408190526200003f91620001b6565b808080600060018162000051620000ee565b816001600160a01b0302191690836001600160a01b03160217906200007562000150565b5050505050506200021e565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620000bb5780860151828201604001526020016200009e565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200014b5760008282015260200162000132565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000132565b600081519050620001b081620001fc565b92915050565b600060208284031215620001d457600080620001d162000081565b50505b6000620001e284846200019f565b949350505050565b60006001600160a01b038216620001b0565b6200020781620001ea565b81146200021b576000806200014b62000081565b50565b611ab8806200022e6000396000f3fe608060405234801561001957600080610016611204565b50505b50600436106100915760003560e01c8063899ffef411610064578063899ffef4146100fc5780638a73997514610111578063e99f964714610124578063fbfeca401461013757610091565b806304f3bcec1461009f5780632af64bd3146100bd5780633c4aa0f3146100d257806374185360146100f2575b60008061009c611204565b50505b6100a761014a565b6040516100b491906119b4565b60405180910390f35b6100c5610168565b6040516100b491906118fb565b6100e56100e03660046114d7565b6102e9565b6040516100b49190611909565b6100fa61046e565b005b610104610604565b6040516100b491906118ea565b6100e561011f3660046115e8565b61067c565b6100e561013236600461152d565b6107f8565b6100e5610145366004611572565b61099f565b60008061015561126f565b906101000a90046001600160a01b031681565b60006060610174610604565b905060005b81518110156102df57600082828151811061019057fe5b602002602001015160008181526001602052909150604090206000906101b461126f565b6001600160a01b036101009290920a9004166000806101d161126f565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040518263ffffffff1660e01b815260040161020c9190611909565b602060405180830381868061021f6112cf565b15801561023457600080610231611204565b50505b505a61023e61131b565b505050505015801561025d573d6000803e3d600061025a611204565b50505b50505050604051601f3d908101601f1916820160405261028091908101906114b0565b6001600160a01b03161415806102c5575060008181526001602052604081206000906102aa61126f565b906101000a90046001600160a01b03166001600160a01b0316145b156102d657600093505050506102e6565b50600101610179565b5060019150505b90565b6000806102f4610d0c565b90506102fe610de2565b6001600160a01b031663654a60ac8686866040518463ffffffff1660e01b815260040161032d9392919061198c565b60206040518083038186806103406112cf565b15801561035557600080610352611204565b50505b505a61035f61131b565b505050505015801561037e573d6000803e3d600061037b611204565b50505b50505050604051601f3d908101601f191682016040526103a191908101906115c1565b91506104636104568273__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806103e96112cf565b1580156103fe576000806103fb611204565b50505b505a610408611406565b5050505050158015610427573d6000803e3d6000610424611204565b50505b50505050604051601f3d908101601f1916820160405261044a91908101906115c1565b9063ffffffff610ead16565b839063ffffffff610eea16565b9150505b9392505050565b6060610478610604565b905060005b815181101561060057600082828151811061049457fe5b60200260200101519050600080806104aa61126f565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016104da91906118df565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161050692919061194d565b60206040518083038186806105196112cf565b15801561052e5760008061052b611204565b50505b505a61053861131b565b5050505050158015610557573d6000803e3d6000610554611204565b50505b50505050604051601f3d908101601f1916820160405261057a91908101906114b0565b6000838152600160205290915081906040902060018161059861126f565b816001600160a01b0302191690836001600160a01b03160217906105ba611417565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040516105ee929190611917565b60405180910390a1505060010161047d565b5050565b60608061060f610f14565b90506060600160405190808252806020026020018201604052801561063e578160200160208202803883390190505b5090506c45786368616e6765526174657360981b8160008151811061065f57fe5b6020026020010181815250506106758282610f73565b9250505090565b60008061072f8473__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806106c26112cf565b1580156106d7576000806106d4611204565b50505b505a6106e1611406565b5050505050158015610700573d6000803e3d60006106fd611204565b50505b50505050604051601f3d908101601f1916820160405261072391908101906115c1565b9063ffffffff61102f16565b90506107ec61073c610de2565b6001600160a01b031663654a60ac8589896040518463ffffffff1660e01b815260040161076b9392919061198c565b602060405180830381868061077e6112cf565b15801561079357600080610790611204565b50505b505a61079d61131b565b50505050501580156107bc573d6000803e3d60006107b9611204565b50505b50505050604051601f3d908101601f191682016040526107df91908101906115c1565b829063ffffffff610eea16565b9150505b949350505050565b600080610803610de2565b6001600160a01b031663654a60ac848660400135631cd554d160e21b6040518463ffffffff1660e01b815260040161083d9392919061198c565b60206040518083038186806108506112cf565b15801561086557600080610862611204565b50505b505a61086f61131b565b505050505015801561088e573d6000803e3d600061088b611204565b50505b50505050604051601f3d908101601f191682016040526108b191908101906115c1565b905060006108bd610de2565b6001600160a01b031663654a60ac60608701356108e8608089013560c08a013563ffffffff610ead16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161090e9392919061198c565b60206040518083038186806109216112cf565b15801561093657600080610933611204565b50505b505a61094061131b565b505050505015801561095f573d6000803e3d600061095c611204565b50505b50505050604051601f3d908101601f1916820160405261098291908101906115c1565b9050610994828263ffffffff61104416565b925050505b92915050565b6000806109aa610d0c565b905060006109b6610de2565b6001600160a01b031663654a60ac60608801356109e160808a013560c08b013563ffffffff610ead16565b631cd554d160e21b6040518463ffffffff1660e01b8152600401610a079392919061198c565b6020604051808303818680610a1a6112cf565b158015610a2f57600080610a2c611204565b50505b505a610a3961131b565b5050505050158015610a58573d6000803e3d6000610a55611204565b50505b50505050604051601f3d908101601f19168201604052610a7b91908101906115c1565b90506000610a87610de2565b6001600160a01b031663654a60ac868960400135631cd554d160e21b6040518463ffffffff1660e01b8152600401610ac19392919061198c565b6020604051808303818680610ad46112cf565b158015610ae957600080610ae6611204565b50505b505a610af361131b565b5050505050158015610b12573d6000803e3d6000610b0f611204565b50505b50505050604051601f3d908101601f19168201604052610b3591908101906115c1565b9050600073__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680610b786112cf565b158015610b8d57600080610b8a611204565b50505b505a610b97611406565b5050505050158015610bb6573d6000803e3d6000610bb3611204565b50505b50505050604051601f3d908101601f19168201604052610bd991908101906115c1565b90506000610bfd610bf0848a63ffffffff61104416565b859063ffffffff61106e16565b90506000610c31610c248a610c18868a63ffffffff610ead16565b9063ffffffff61104416565b849063ffffffff61106e16565b90506000610c45838363ffffffff61104416565b9050610c4f610de2565b6001600160a01b031663654a60ac631cd554d160e21b838e606001356040518463ffffffff1660e01b8152600401610c899392919061198c565b6020604051808303818680610c9c6112cf565b158015610cb157600080610cae611204565b50505b505a610cbb61131b565b5050505050158015610cda573d6000803e3d6000610cd7611204565b50505b50505050604051601f3d908101601f19168201604052610cfd91908101906115c1565b9b9a5050505050505050505050565b6000610d166110a8565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401610d69929190611932565b6020604051808303818680610d7c6112cf565b158015610d9157600080610d8e611204565b50505b505a610d9b61131b565b5050505050158015610dba573d6000803e3d6000610db7611204565b50505b50505050604051601f3d908101601f19168201604052610ddd91908101906115c1565b905090565b60008080610dee61126f565b906101000a90046001600160a01b03166001600160a01b031663dacb2d016c45786368616e6765526174657360981b6040518263ffffffff1660e01b8152600401610e39919061196d565b6020604051808303818680610e4c6112cf565b158015610e6157600080610e5e611204565b50505b505a610e6b61131b565b5050505050158015610e8a573d6000803e3d6000610e87611204565b50505b50505050604051601f3d908101601f19168201604052610ddd91908101906114b0565b6000828201838110156104675760405162461bcd60e51b8152600401610ed2906119d3565b60405180910390610ee1611204565b50509392505050565b6000670de0b6b3a7640000610f05848463ffffffff6110c516565b81610f0c57fe5b049392505050565b60606001604051908082528060200260200182016040528015610f41578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b81600081518110610f6457fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610fa3578160200160208202803883390190505b50905060005b8351811015610fe557838181518110610fbe57fe5b6020026020010151828281518110610fd257fe5b6020908102919091010152600101610fa9565b5060005b825181101561102857828181518110610ffe57fe5b602002602001015182828651018151811061101557fe5b6020908102919091010152600101610fe9565b5092915050565b60006104678383670de0b6b3a76400006110ff565b60006104678261106285670de0b6b3a764000063ffffffff6110c516565b9063ffffffff61113616565b6000828211156110a25760405162461bcd60e51b8152600401611090906119e3565b6040518091039061109f611204565b50505b50900390565b6000610ddd6e466c657869626c6553746f7261676560881b61117d565b6000826110d457506000610999565b828202828482816110e157fe5b04146104675760405162461bcd60e51b8152600401610ed290611a03565b6000806111198461106287600a870263ffffffff6110c516565b90506005600a82061061112a57600a015b600a9004949350505050565b60008082116111695760405162461bcd60e51b8152600401611157906119f3565b60405180910390611166611204565b50505b600082848161117457fe5b04949350505050565b60008181526001602052806040812060009061119761126f565b6001600160a01b036101009290920a9004169050801515836040516020016111bf91906118bf565b604051602081830303815290604052906110285760405162461bcd60e51b81526004016111ec91906119c2565b604051809103906111fb611204565b50505092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561123c578086015182820160400152602001611221565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156112ca576000828201526020016112b3565b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206112b3565b638540661f598160e01b815261134c565b8080831115610999575090919050565b8080831015610999575090919050565b836004820152846024820152606060448201528660648201526084810160005b8881101561138457808801518282015260200161136c565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596113d98d3d61133c565b8c016113e5818761132c565b5b828110156113fa57600081526020016113e6565b50929c50505050505050565b63ffe73914598160e01b815261134c565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206112b3565b60008151905061099981611a92565b803561099981611aaf565b6000610120828403121561149b57600080611498611204565b50505b50919050565b60008151905061099981611aaf565b6000602082840312156114cb576000806114c8611204565b50505b60006107f08484611465565b6000806000606084860312156114f5576000806114f2611204565b50505b60006115018686611474565b935050602061151286828701611474565b925050604061152386828701611474565b9150509250925092565b600080610140838503121561154a57600080611547611204565b50505b6000611556858561147f565b92505061012061156885828601611474565b9150509250929050565b600080600061016084860312156115915760008061158e611204565b50505b600061159d868661147f565b9350506101206115af86828701611474565b92505061014061152386828701611474565b6000602082840312156115dc576000806115d9611204565b50505b60006107f084846114a1565b6000806000806080858703121561160757600080611604611204565b50505b60006116138787611474565b945050602061162487828801611474565b935050604061163587828801611474565b925050606061164687828801611474565b91505092959194509250565b600061165e83836116d7565b505060200190565b61166f81611a31565b82525050565b600061168082611a19565b61168a8185611a23565b935061169583611a13565b8060005b838110156116c35781516116ad8882611652565b97506116b883611a13565b925050600101611699565b509495945050505050565b61166f81611a3c565b61166f816102e6565b61166f6116ec826102e6565b6102e6565b61166f81611a4d565b600061170582611a19565b61170f8185611a23565b935061171f818560208601611a58565b61172881611a88565b9093019392505050565b600061173f601b83611a23565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611778601e83611a23565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006117b1601a83611a23565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117ea601183611a2c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611817602183611a23565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061185a601e83611a23565b7f4d697373696e672045786368616e6765526174657320636f6e74726163740000815260200192915050565b6000611893601983611a2c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006118ca826117dd565b91506118d682846116e0565b50602001919050565b60006118ca82611886565b602080825281016104678184611675565b6020810161099982846116ce565b6020810161099982846116d7565b6040810161192582856116d7565b6104676020830184611666565b6040810161194082856116d7565b61046760208301846116d7565b6040810161195b82856116d7565b81810360208301526107f081846116fa565b6040810161197b82846116d7565b81810360208301526104678161184d565b6060810161199a82866116d7565b6119a760208301856116d7565b6107f060408301846116d7565b6020810161099982846116f1565b6020808252810161046781846116fa565b6020808252810161099981611732565b602080825281016109998161176b565b60208082528101610999816117a4565b602080825281016109998161180a565b60200190565b6000815192915050565b90815260200190565b919050565b600061099982611a41565b151590565b6001600160a01b031690565b600061099982611a31565b60005b83811015611a73578082015183820152602001611a5b565b83811115611a82576000848401525b50505050565b601f01601f191690565b611a9b81611a31565b8114611aac576000806112ca611204565b50565b611a9b816102e656", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collateralKey", + "type": "bytes32" + } + ], + "name": "collateralRedeemed", + "outputs": [ + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "short", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "accruedInterest", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteraction", + "type": "uint256" + } + ], + "internalType": "struct ICollateralLoan.Loan", + "name": "loan", + "type": "tuple" + }, + { + "internalType": "bytes32", + "name": "collateralKey", + "type": "bytes32" + } + ], + "name": "getCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "short", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "accruedInterest", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteraction", + "type": "uint256" + } + ], + "internalType": "struct ICollateralLoan.Loan", + "name": "loan", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "minCratio", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collateralKey", + "type": "bytes32" + } + ], + "name": "liquidationAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "minCratio", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collateralKey", + "type": "bytes32" + } + ], + "name": "maxLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xc78147a626fd87196c13e350d9c2a40a8f0fe239c739a18e34b95e5e252ca509", + "urls": [ + "bzz-raw://b0e692ad5231617bb4b10087e976715eb719182d29fbbd32e12020e4011421c6", + "dweb:/ipfs/QmZsz7k1i3e9SjsAiUuB5yUDN9ifMVCCHd2kJa44WiXdi7" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralUtil.sol": "CollateralUtil" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralUtil.sol": { + "keccak256": "0xc78147a626fd87196c13e350d9c2a40a8f0fe239c739a18e34b95e5e252ca509", + "urls": [ + "bzz-raw://b0e692ad5231617bb4b10087e976715eb719182d29fbbd32e12020e4011421c6", + "dweb:/ipfs/QmZsz7k1i3e9SjsAiUuB5yUDN9ifMVCCHd2kJa44WiXdi7" + ] + } + }, + "version": 1 + } + }, + "CollateralManagerState": { + "bytecode": "60806040523480156200001c576000806200001962000225565b50505b5060405162001a8838038062001a888339810160408190526200003f91620003a1565b80826001600160a01b0381166200007e5760405162461bcd60e51b81526004016200006a90620004b9565b604051809103906200007b62000225565b50505b8060006001816200008e62000292565b816001600160a01b0302191690836001600160a01b0316021790620000b2620002f4565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600082604051620000e992919062000481565b60405180910390a150600080806200010062000292565b906101000a90046001600160a01b03166001600160a01b031614156200014e5760405162461bcd60e51b81526004016200013a90620004a7565b604051809103906200014b62000225565b50505b8060026001816200015e62000292565b816001600160a01b0302191690836001600160a01b031602179062000182620002f4565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0381604051620001b6919062000471565b60405180910390a1506000600480600181620001d162000292565b018082620001de620002f4565b5050600092835291600019830191506020902091929101620001ff620002f4565b5050505a6200020d62000343565b8060056200021a620002f4565b50505050506200051c565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200025f57808601518282016040015260200162000242565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620002ef57600082820152602001620002d6565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620002d6565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020620002d6565b6000815190506200039b81620004fa565b92915050565b60008060408385031215620003c057600080620003bd62000225565b50505b6000620003ce85856200038a565b9250506020620003e1858286016200038a565b9150509250929050565b620003f681620004e6565b82525050565b620003f681620004d4565b600062000416601183620004cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000445601983620004cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200039b8284620003fc565b60408101620004918285620003eb565b620004a06020830184620003fc565b9392505050565b602080825281016200039b8162000407565b602080825281016200039b8162000436565b90815260200190565b60006001600160a01b0382166200039b565b60006200039b8260006200039b82620004d4565b6200050581620004d4565b81146200051957600080620002ef62000225565b50565b61155c806200052c6000396000f3fe608060405234801561001957600080610016611018565b50505b50600436106101d85760003560e01c80638c5825031161010d578063cc952b57116100ab578063e50a31b31161007a578063e50a31b3146103a1578063eb94bbde146103b4578063ed039154146103c7578063f53037b6146103da576101d8565b8063cc952b5714610360578063d2f0047514610368578063e31f27c11461037b578063e32261fe1461038e576101d8565b8063a29fe7b8116100e7578063a29fe7b81461031f578063aefc4ccb14610332578063af07aa9d1461033a578063b52e0dc81461034d576101d8565b80638c582503146102fc5780638da5cb5b14610304578063a0356f6e1461030c576101d8565b806352f445ca1161017a5780636431e0bd116101545780636431e0bd146102b8578063781dc0e2146102cb57806379ba5097146102d357806383d625d4146102db576101d8565b806352f445ca1461027d57806353a47bb71461029057806355374799146102a5576101d8565b806322e07b7a116101b657806322e07b7a14610247578063246206391461024f578063381c5cb5146102625780635246f2b91461026a576101d8565b806303f048b0146101e65780631627540c14610212578063173fcb4114610227575b6000806101e3611018565b50505b6101f96101f436600461124d565b6103ed565b60405161020994939291906114e1565b60405180910390f35b61022561022036600461121e565b610427565b005b61023a610235366004611274565b61049b565b60405161020991906114b8565b61023a6104d4565b61022561025d366004611274565b6104de565b61023a6105b5565b610225610278366004611274565b6105c9565b61022561028b36600461121e565b610675565b6102986106df565b604051610209919061143f565b61023a6102b336600461124d565b6106fe565b6102256102c636600461124d565b610716565b61023a610798565b6102256107a9565b6102ee6102e936600461124d565b610909565b6040516102099291906114c6565b61023a610934565b6102986109ce565b61023a61031a36600461124d565b6109d9565b61023a61032d36600461124d565b6109f7565b610298610a1f565b6101f9610348366004611274565b610a2b565b61023a61035b36600461124d565b610a6b565b61023a610a99565b61023a61037636600461124d565b610aa3565b610225610389366004611274565b610b20565b61023a61039c36600461124d565b610ba5565b6102256103af366004611274565b610c25565b6102256103c2366004611274565b610cbf565b6102256103d536600461124d565b610d41565b6102256103e836600461124d565b610e3c565b6000806000806103fb6105b5565b905061040685610a6b565b935061041460018203610a6b565b925061041e610798565b91509193509193565b61042f610ef2565b806001808061043c611083565b816001600160a01b0302191690836001600160a01b031602179061045e6110de565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2281604051610490919061143f565b60405180910390a150565b600660205281600052604060002081816104b3611083565b81106104bb57fe5b9060005260206000200191506104d19050611083565b81565b60056104d1611083565b600060026104ea611083565b906101000a90046001600160a01b03166001600160a01b03165a61050c61112c565b6001600160a01b0316146105445760405162461bcd60e51b8152600401610532906114a8565b60405180910390610541611018565b50505b6000828152600660205260409020819080600181610560611083565b01808261056b6110de565b505060009283529160001983019150602090209192910161058a6110de565b5050505a610596611172565b600083815260076020526040902081906105ae6110de565b5050505050565b60006004806105c2611083565b9150505b90565b600060026105d5611083565b906101000a90046001600160a01b03166001600160a01b03165a6105f761112c565b6001600160a01b03161461062f5760405162461bcd60e51b815260040161061d906114a8565b6040518091039061062c611018565b50505b6000828152600860205261065a9082906040902060010161064e611083565b9063ffffffff610f5916565b600083815260086020526040902060010181906105ae6110de565b61067d610ef2565b80600260018161068b611083565b816001600160a01b0302191690836001600160a01b03160217906106ad6110de565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0381604051610490919061143f565b600060016106eb611083565b906101000a90046001600160a01b031681565b600760205280600052604060002090506104d1611083565b60006002610722611083565b906101000a90046001600160a01b03166001600160a01b03165a61074461112c565b6001600160a01b03161461077c5760405162461bcd60e51b815260040161076a906114a8565b60405180910390610779611018565b50505b60008181526006602052604090206107959060006111b8565b50565b600060056107a4611083565b905090565b600060016107b5611083565b906101000a90046001600160a01b03166001600160a01b03165a6107d761112c565b6001600160a01b03161461080f5760405162461bcd60e51b81526004016107fd90611468565b6040518091039061080c611018565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061083b611083565b906101000a90046001600160a01b03166001600090610858611083565b906101000a90046001600160a01b031660405161087692919061144d565b60405180910390a16000600161088a611083565b906101000a90046001600160a01b03166000806101000a816108aa611083565b816001600160a01b0302191690836001600160a01b03160217906108cc6110de565b5050506000600160006101000a816108e2611083565b816001600160a01b0302191690836001600160a01b03160217906109046110de565b505050565b6008602052806000526040600020905080610922611083565b908060010161092f611083565b905082565b6000806002610941611083565b906101000a90046001600160a01b03166001600160a01b03165a61096361112c565b6001600160a01b03161461099b5760405162461bcd60e51b8152600401610989906114a8565b60405180910390610998611018565b50505b6109b6600160036109aa611083565b9063ffffffff610f9316565b8060036109c16110de565b50505060036107a4611083565b6000806106eb611083565b6000818152600660205260408120806109f0611083565b9392505050565b60048181610a03611083565b8110610a0b57fe5b9060005260206000200190506104d1611083565b600060026106eb611083565b600080600080610a3a866109d9565b9050610a468686610fd0565b9350610a558660018303610fd0565b9250610a6086611002565b915092959194509250565b600060048281610a79611083565b8110610a8157fe5b90600052602060002001610a93611083565b92915050565b60036104d1611083565b6000806002610ab0611083565b906101000a90046001600160a01b03166001600160a01b03165a610ad261112c565b6001600160a01b031614610b0a5760405162461bcd60e51b8152600401610af8906114a8565b60405180910390610b07611018565b50505b6000828152600860205260409020610a93611083565b60006002610b2c611083565b906101000a90046001600160a01b03166001600160a01b03165a610b4e61112c565b6001600160a01b031614610b865760405162461bcd60e51b8152600401610b74906114a8565b60405180910390610b83611018565b50505b6000828152600860205261065a908290604090206001016109aa611083565b6000806002610bb2611083565b906101000a90046001600160a01b03166001600160a01b03165a610bd461112c565b6001600160a01b031614610c0c5760405162461bcd60e51b8152600401610bfa906114a8565b60405180910390610c09611018565b50505b6000828152600860205260409020600101610a93611083565b60006002610c31611083565b906101000a90046001600160a01b03166001600160a01b03165a610c5361112c565b6001600160a01b031614610c8b5760405162461bcd60e51b8152600401610c79906114a8565b60405180910390610c88611018565b50505b60008281526008602052610ca79082906040902061064e611083565b600083815260086020526040902081906105ae6110de565b60006002610ccb611083565b906101000a90046001600160a01b03166001600160a01b03165a610ced61112c565b6001600160a01b031614610d255760405162461bcd60e51b8152600401610d13906114a8565b60405180910390610d22611018565b50505b60008281526008602052610ca7908290604090206109aa611083565b60006002610d4d611083565b906101000a90046001600160a01b03166001600160a01b03165a610d6f61112c565b6001600160a01b031614610da75760405162461bcd60e51b8152600401610d95906114a8565b60405180910390610da4611018565b50505b600081815260066020526040812080610dbe611083565b90501115610dcb57610795565b600081815260066020526040902060009080600181610de8611083565b018082610df36110de565b5050600092835291600019830191506020902091929101610e126110de565b5050505a610e1e611172565b60008281526007602052604090208190610e366110de565b50505050565b60006002610e48611083565b906101000a90046001600160a01b03166001600160a01b03165a610e6a61112c565b6001600160a01b031614610ea25760405162461bcd60e51b8152600401610e90906114a8565b60405180910390610e9f611018565b50505b80600480600181610eb1611083565b018082610ebc6110de565b5050600092835291600019830191506020902091929101610edb6110de565b5050505a610ee7611172565b806005610e366110de565b600080610efd611083565b906101000a90046001600160a01b03166001600160a01b03165a610f1f61112c565b6001600160a01b031614610f575760405162461bcd60e51b8152600401610f4590611498565b60405180910390610f54611018565b50505b565b600082821115610f8d5760405162461bcd60e51b8152600401610f7b90611488565b60405180910390610f8a611018565b50505b50900390565b6000828201838110156109f05760405162461bcd60e51b8152600401610fb890611478565b60405180910390610fc7611018565b50509392505050565b60008281526006602052604081208281610fe8611083565b8110610ff057fe5b906000526020600020016109f0611083565b6000818152600760205260408120610a93611083565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015611050578086015182820160400152602001611035565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610904576000828201526020016110c7565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206110c7565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206110c7565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206110c7565b50806111c2611083565b6000826111cd6110de565b5050906000526020600020610795918101906105c691905b8082111561120457600080826111f96110de565b5050506001016111e5565b5090565b8035610a9381611539565b8035610a9381611553565b60006020828403121561123957600080611236611018565b50505b60006112458484611208565b949350505050565b60006020828403121561126857600080611265611018565b50505b60006112458484611213565b600080604083850312156112905760008061128d611018565b50505b600061129c8585611213565b92505060206112ad85828601611213565b9150509250929050565b6112c081611528565b82525050565b60006112d360358361151f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061132a601b8361151f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611363601e8361151f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061139c602f8361151f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006113ed60348361151f565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b6112c0816105c6565b60208101610a9382846112b7565b6040810161145b82856112b7565b6109f060208301846112b7565b60208082528101610a93816112c6565b60208082528101610a938161131d565b60208082528101610a9381611356565b60208082528101610a938161138f565b60208082528101610a93816113e0565b60208101610a938284611436565b604081016114d48285611436565b6109f06020830184611436565b608081016114ef8287611436565b6114fc6020830186611436565b6115096040830185611436565b6115166060830184611436565b95945050505050565b90815260200190565b60006001600160a01b038216610a93565b61154281611528565b811461079557600080610904611018565b611542816105c656", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "associatedContract", + "type": "address" + } + ], + "name": "AssociatedContractUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "addShortCurrency", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "associatedContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "borrowRates", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatesLastUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "decrementLongs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "decrementShorts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRateAt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRatesAndTime", + "outputs": [ + { + "internalType": "uint256", + "name": "entryRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIndex", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getRatesLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getShortRatesAndTime", + "outputs": [ + { + "internalType": "uint256", + "name": "entryRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIndex", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "getShortRatesLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "incrementLongs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "incrementShorts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "incrementTotalLoans", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "long", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ratesLastUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "removeShortCurrency", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "setAssociatedContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "short", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "shortRates", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "shortRatesLastUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "totalIssuedSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "long", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "short", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalLoans", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "updateBorrowRates", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "updateShortRates", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x543c31c6ce66e421d251f7f90b42c955a3e1adb19bc19bd1d0e11e375aa0c9c8", + "urls": [ + "bzz-raw://2bef3db5d497775fbccb62c0c027b4cca2e4ed89941ab800db946e27fe82882b", + "dweb:/ipfs/QmZmRCUUFW5LSTWwJCNgvpCsssCsmNBkePnpHubjkEUQmy" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralManagerState.sol": "CollateralManagerState" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralManagerState.sol": { + "keccak256": "0x543c31c6ce66e421d251f7f90b42c955a3e1adb19bc19bd1d0e11e375aa0c9c8", + "urls": [ + "bzz-raw://2bef3db5d497775fbccb62c0c027b4cca2e4ed89941ab800db946e27fe82882b", + "dweb:/ipfs/QmZmRCUUFW5LSTWwJCNgvpCsssCsmNBkePnpHubjkEUQmy" + ] + } + }, + "version": 1 + } + }, + "CollateralManager": { + "bytecode": "6080604052670de0b6b3a7640000600e62000019620004ed565b5050604051604080820190526524b9b9bab2b960d11b81526c45786368616e6765526174657360981b60208201526200005790601390600262000551565b5034801562000070576000806200006d6200059f565b50505b506040516200507e3803806200507e833981016040819052620000939162000706565b84866001600160a01b038116620000d25760405162461bcd60e51b8152600401620000be9062000937565b60405180910390620000cf6200059f565b50505b806000600181620000e26200060c565b816001600160a01b0302191690836001600160a01b031602179062000106620004ed565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516200013d929190620008db565b60405180910390a15060008080620001546200060c565b906101000a90046001600160a01b03166001600160a01b03161415620001a25760405162461bcd60e51b81526004016200018e9062000925565b604051809103906200019f6200059f565b50505b80600361010081620001b36200060c565b816001600160a01b0302191690836001600160a01b0316021790620001d7620004ed565b505050505a620001e662000659565b6000600181620001f56200060c565b816001600160a01b0302191690836001600160a01b031602179062000219620004ed565b50505086600560006101000a81620002306200060c565b816001600160a01b0302191690836001600160a01b031602179062000254620004ed565b5050506200026884620002e860201b60201c565b6200027c836001600160e01b036200038a16565b62000290826001600160e01b03620003db16565b620002a4816001600160e01b036200042c16565b856000600181620002b46200060c565b816001600160a01b0302191690836001600160a01b0316021790620002d8620004ed565b50505050505050505050620009cd565b620002fb6001600160e01b036200047d16565b60008111620003325760405162461bcd60e51b81526004016200031e9062000901565b604051809103906200032f6200059f565b50505b8080600f62000340620004ed565b5050507f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f600f620003706200060c565b6040516200037f919062000949565b60405180910390a150565b6200039d6001600160e01b036200047d16565b80806010620003ab620004ed565b5050507f465c1047eec44dfecb260ee7e6187823a7cbdd80f19082eb56c35967b16d8e266010620003706200060c565b620003ee6001600160e01b036200047d16565b80806011620003fc620004ed565b5050507f08f9599493340b8255c7698bded59e30079641f4a9531613ec020557392470046011620003706200060c565b6200043f6001600160e01b036200047d16565b808060126200044d620004ed565b5050507fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc96012620003706200060c565b6000806200048a6200060c565b906101000a90046001600160a01b03166001600160a01b03165a620004ae62000659565b6001600160a01b031614620004eb5760405162461bcd60e51b8152600401620004d79062000913565b60405180910390620004e86200059f565b50505b565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60005b60408110156200054c5760008282015260200162000533565b505050565b82601881019282156200058d579160200282015b828111156200058d578251826200057b620004ed565b50509160200191906001019062000565565b506200059b929150620006a0565b5090565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620005d9578086015182820160400152602001620005bc565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000533565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000533565b620006ca91905b808211156200059b5760008082620006be620004ed565b505050600101620006a7565b90565b600081519050620006de8162000995565b92915050565b600081519050620006de81620009b7565b600081519050620006de81620009c2565b600080600080600080600060e0888a0312156200072d576000806200072a6200059f565b50505b60006200073b8a8a620006e4565b97505060206200074e8a828b01620006cd565b9650506040620007618a828b01620006cd565b9550506060620007748a828b01620006f5565b9450506080620007878a828b01620006f5565b93505060a06200079a8a828b01620006f5565b92505060c0620007ad8a828b01620006f5565b91505092959891949750929550565b620007c78162000988565b82525050565b620007c78162000962565b6000620007e760168362000959565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600062000822602f8362000959565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006200087560118362000959565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620008a460198362000959565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b620007c781620006ca565b60408101620008eb8285620007bc565b620008fa6020830184620007cd565b9392505050565b60208082528101620006de81620007d8565b60208082528101620006de8162000813565b60208082528101620006de8162000866565b60208082528101620006de8162000895565b60208101620006de8284620008d0565b90815260200190565b6000620006de826200097c565b6000620006de8262000962565b6001600160a01b031690565b6000620006de826200096f565b620009a08162000962565b8114620009b4576000806200054c6200059f565b50565b620009a0816200096f565b620009a081620006ca565b6146a180620009dd6000396000f3fe608060405234801561001957600080610016613777565b50505b50600436106103305760003560e01c80638d6ad02d116101c1578063baa380361161010d578063d2f00475116100ab578063e50a31b311610085578063e50a31b31461068b578063eb94bbde1461069e578063ee81f790146106b1578063ffa749cd146106c457610330565b8063d2f0047514610652578063e31f27c114610665578063e32261fe1461067857610330565b8063c19d93fb116100e7578063c19d93fb14610627578063c9e180151461062f578063ca969f2314610637578063d0064c001461064a57610330565b8063baa38036146105f9578063bbb601cd1461060c578063bf3866821461061f57610330565b8063ad79a8581161017a578063b3b4673211610154578063b3b46732146105b5578063b4d6cb40146105bd578063b9e2451c146105de578063ba1c5e80146105f157610330565b8063ad79a85814610587578063af07aa9d1461058f578063b38988f7146105a257610330565b80638d6ad02d146105365780638da5cb5b1461053e57806391b4ded91461054657806393a72fbe1461054e5780639f7eac3714610561578063a894a14b1461057457610330565b8063614d08f8116102805780637687402a116102395780638471db13116102135780638471db13146104e8578063899ffef4146104fb5780638b173e81146105105780638d1341901461052357610330565b80637687402a146104ac57806379ba5097146104bf57806380054666146104c757610330565b8063614d08f8146104505780636526941b14610458578063710388d11461046b57806372e18b6a1461047e5780637418536014610491578063744d646e1461049957610330565b806323d60e2e116102ed5780634db7764c116102c75780634db7764c146104185780635246f2b91461042057806353a47bb7146104335780635c975abb1461044857610330565b806323d60e2e146103d05780632af64bd3146103e357806338245377146103f857610330565b806303f048b01461033e57806304f3bcec1461036a5780630c9c81a11461037f5780631627540c1461039457806316c38b3c146103a75780631e33fc6b146103ba575b60008061033b613777565b50505b61035161034c366004613e18565b6106d7565b6040516103619493929190614563565b60405180910390f35b6103726107a5565b6040516103619190614494565b61039261038d366004613e18565b6107c4565b005b6103926103a2366004613c56565b61081e565b6103926103b5366004613dca565b610887565b6103c2610956565b604051610361929190614423565b6103926103de366004613d3f565b610d1b565b6103eb610dfe565b60405161036191906143de565b61040b610406366004613e18565b610f80565b6040516103619190614407565b61040b610f9b565b61039261042e366004613e66565b610fa5565b61043b61108a565b60405161036191906143a4565b6103eb611096565b61040b6110af565b610392610466366004613e18565b6110c7565b610392610479366004613d3f565b61113b565b6103eb61048c366004613d3f565b61120c565b6103926112b6565b6103eb6104a7366004613cf8565b61144e565b6103926104ba366004613e66565b611498565b610392611520565b6104da6104d5366004613ee2565b611680565b604051610361929190614451565b6103eb6104f6366004613e18565b6117db565b6105036117fa565b60405161036191906143cd565b61039261051e366004613e18565b6119a6565b610392610531366004613e18565b6119e8565b61040b611aca565b61043b611ad4565b61040b611adf565b6103eb61055c366004613d3f565b611ae9565b61039261056f366004613e18565b611c25565b610392610582366004613d3f565b611c99565b6103c2611e51565b61035161059d366004613e66565b6120a4565b6103eb6105b0366004613c56565b612175565b61040b61218e565b6105d06105cb366004613e66565b612287565b6040516103619291906143ec565b61040b6105ec366004613e18565b6123a4565b6103c26123bc565b610392610607366004613e18565b61250d565b61039261061a366004613ca4565b61254f565b61040b61262a565b610372612634565b61040b612640565b610392610645366004613ca4565b61264a565b61040b612870565b61040b610660366004613e18565b61287a565b610392610673366004613e66565b612936565b61040b610686366004613e18565b6129be565b610392610699366004613e66565b612a06565b6103926106ac366004613e66565b612a8e565b6103c26106bf366004613e18565b612b16565b6103926106d2366004613ca4565b612dbb565b60008080808060056106e76137e2565b906101000a90046001600160a01b03166001600160a01b03166303f048b0866040518263ffffffff1660e01b81526004016107229190614407565b608060405180830381868061073561383d565b15801561074a57600080610747613777565b50505b505a610754613889565b5050505050158015610773573d6000803e3d6000610770613777565b50505b50505050604051601f3d908101601f191682016040526107969190810190613f38565b92989197509550909350915050565b600160036107b16137e2565b906101000a90046001600160a01b031681565b6107cc612e74565b808060116107d8613974565b5050507f08f9599493340b8255c7698bded59e30079641f4a9531613ec0205573924700460116108066137e2565b6040516108139190614407565b60405180910390a150565b610826612e74565b80600180806108336137e2565b816001600160a01b0302191690836001600160a01b0316021790610855613974565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce228160405161081391906143a4565b61088f612e74565b6000600361089b6137e2565b906101000a900460ff16151581151514156108b557610953565b8060036001816108c36137e2565b8160ff021916908315150217906108d8613974565b50505060036000906108e86137e2565b906101000a900460ff161561090f575a6109006139c2565b80600261090b613974565b5050505b7f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec56000600361093c6137e2565b906101000a900460ff1660405161081391906143de565b50565b60008060606008806109666137e2565b8060200260200160405190810160405281815291906020830182806109896137e2565b80156109bb57602002820191906000526020600020905b816109a96137e2565b815260200190600101908083116109a0575b50505050509050600081511115610d165760005b8151811015610d145760006109f68383815181106109e957fe5b6020026020010151612ed8565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b81526004016020604051808303818680610a2961383d565b158015610a3e57600080610a3b613777565b50505b505a610a48613889565b5050505050158015610a67573d6000803e3d6000610a64613777565b50505b50505050604051601f3d908101601f19168201604052610a8a9190810190613e3f565b9050631cd554d160e21b811415610b6d57610b6660006005610aaa6137e2565b906101000a90046001600160a01b03166001600160a01b031663d2f00475836040518263ffffffff1660e01b8152600401610ae59190614407565b6020604051808303818680610af861383d565b158015610b0d57600080610b0a613777565b50505b505a610b17613889565b5050505050158015610b36573d6000803e3d6000610b33613777565b50505b50505050604051601f3d908101601f19168201604052610b599190810190613e3f565b869063ffffffff612ee316565b9450610d0b565b600080610b78612f21565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610ba39190614407565b60408051808303818680610bb561383d565b158015610bca57600080610bc7613777565b50505b505a610bd4613889565b5050505050158015610bf3573d6000803e3d6000610bf0613777565b50505b50505050604051601f3d908101601f19168201604052610c169190810190613ea9565b915091506000610ce8836005600090610c2d6137e2565b906101000a90046001600160a01b03166001600160a01b031663d2f00475876040518263ffffffff1660e01b8152600401610c689190614407565b6020604051808303818680610c7b61383d565b158015610c9057600080610c8d613777565b50505b505a610c9a613889565b5050505050158015610cb9573d6000803e3d6000610cb6613777565b50505b50505050604051601f3d908101601f19168201604052610cdc9190810190613e3f565b9063ffffffff612f4116565b9050610cfa888263ffffffff612ee316565b97508115610d0757600196505b5050505b506001016109cf565b505b509091565b610d23612e74565b60005b83811015610df757610d54858583818110610d3d57fe5b905060200201356008612f6b90919063ffffffff16565b610def576000858583818110610d6657fe5b905060200201359050610d83816008612fda90919063ffffffff16565b80600a6000868686818110610d9457fe5b9050602002013581526020019081526020016000208190610db3613974565b5050507f87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d78759981604051610de59190614407565b60405180910390a1505b600101610d26565b5050505050565b60006060610e0a6117fa565b905060005b8151811015610f76576000828281518110610e2657fe5b60200260200101516000818152600460205290915060409020600090610e4a6137e2565b6001600160a01b036101009290920a90041660016003610e686137e2565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040518263ffffffff1660e01b8152600401610ea39190614407565b6020604051808303818680610eb661383d565b158015610ecb57600080610ec8613777565b50505b505a610ed5613889565b5050505050158015610ef4573d6000803e3d6000610ef1613777565b50505b50505050604051601f3d908101601f19168201604052610f179190810190613c7d565b6001600160a01b0316141580610f5c57506000818152600460205260408120600090610f416137e2565b906101000a90046001600160a01b03166001600160a01b0316145b15610f6d5760009350505050610f7d565b50600101610e0f565b5060019150505b90565b600a6020528060005260406000209050610f986137e2565b81565b6012610f986137e2565b6000610fb35a6105b0613a08565b905080610fe45760405162461bcd60e51b8152600401610fd290614543565b60405180910390610fe1613777565b50505b60006005610ff06137e2565b906101000a90046001600160a01b03166001600160a01b0316635246f2b984846040518363ffffffff1660e01b815260040161102d929190614451565b6000604051808303816000878061104261383d565b15801561105757600080611054613777565b50505b505a611061613a4e565b505050505050158015611081573d6000803e3d600061107e613777565b50505b50505050505050565b600060016107b16137e2565b600060036110a26137e2565b906101000a900460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b6110cf612e74565b600081116111015760405162461bcd60e51b81526004016110ef90614513565b604051809103906110fe613777565b50505b8080600f61110d613974565b5050507f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f600f6108066137e2565b611143612e74565b60005b83811015610df75761115d858583818110610d3d57fe5b156112045761118885858381811061117157fe5b90506020020135600861304c90919063ffffffff16565b600a600084848481811061119857fe5b9050602002013581526020019081526020016000206000906111b8613974565b50507f788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a8585838181106111e757fe5b905060200201356040516111fb9190614407565b60405180910390a15b600101611146565b60008360088061121a6137e2565b905014611229575060006112ae565b60005b848110156112a857611243868683818110610d3d57fe5b6112515760009150506112ae565b85858281811061125d57fe5b90506020020135600a600086868581811061127457fe5b9050602002013581526020019081526020016000206112916137e2565b146112a05760009150506112ae565b60010161122c565b50600190505b949350505050565b60606112c06117fa565b905060005b815181101561144a5760008282815181106112dc57fe5b602002602001015190506000600160036112f46137e2565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113249190614399565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611350929190614431565b602060405180830381868061136361383d565b15801561137857600080611375613777565b50505b505a611382613889565b50505050501580156113a1573d6000803e3d600061139e613777565b50505b50505050604051601f3d908101601f191682016040526113c49190810190613c7d565b600083815260046020529091508190604090206001816113e26137e2565b816001600160a01b0302191690836001600160a01b0316021790611404613974565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa688282604051611438929190614415565b60405180910390a150506001016112c5565b5050565b6000805b825181101561148d5761147783828151811061146a57fe5b6020026020010151612175565b611485576000915050611493565b600101611452565b50600190505b919050565b60006114a65a6105b0613a08565b9050806114d75760405162461bcd60e51b81526004016114c590614543565b604051809103906114d4613777565b50505b600060056114e36137e2565b906101000a90046001600160a01b03166001600160a01b0316632462063984846040518363ffffffff1660e01b815260040161102d929190614451565b6000600161152c6137e2565b906101000a90046001600160a01b03166001600160a01b03165a61154e613a08565b6001600160a01b0316146115865760405162461bcd60e51b8152600401611574906144c3565b60405180910390611583613777565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806115b26137e2565b906101000a90046001600160a01b031660016000906115cf6137e2565b906101000a90046001600160a01b03166040516115ed9291906143b2565b60405180910390a1600060016116016137e2565b906101000a90046001600160a01b03166000806101000a816116216137e2565b816001600160a01b0302191690836001600160a01b0316021790611643613974565b5050506000600160006101000a816116596137e2565b816001600160a01b0302191690836001600160a01b031602179061167b613974565b505050565b60008060006116915a6105b0613a08565b9050806116c25760405162461bcd60e51b81526004016116b090614543565b604051809103906116bf613777565b50505b600080600080876116db576116d68a6106d7565b6116e5565b6116e5898b6120a4565b935093509350935060008089611702576116fd6123bc565b61170b565b61170b8b612b16565b91509150801561173f5760405162461bcd60e51b815260040161172d90614553565b6040518091039061173c613777565b50505b6000611772670de0b6b3a7640000611766875a61175a6139c2565b9063ffffffff61318116565b9063ffffffff6131bb16565b90506000611796611789858463ffffffff612f4116565b889063ffffffff612ee316565b90506117a8818963ffffffff61318116565b9a508499508b6117c0576117bb816131f5565b6117ca565b6117ca8d8261328d565b505050505050505050935093915050565b6000818152600a60205280604081206117f26137e2565b141592915050565b6060806002604051908082528060200260200182016040528015611828578160200160208202803883390190505b5090506524b9b9bab2b960d11b8160008151811061184257fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061186c57fe5b602090810291909101015260606000600b806118866137e2565b915050801561190e57806040519080825280602002602001820160405280156118b9578160200160208202803883390190505b50915060005b8181101561190c57600b81816118d36137e2565b81106118db57fe5b906000526020600020016118ed6137e2565b8382815181106118f957fe5b60209081029190910101526001016118bf565b505b606061197e8360088061191f6137e2565b8060200260200160405190810160405281815291906020830182806119426137e2565b801561197457602002820191906000526020600020905b816119626137e2565b81526020019060010190808311611959575b50505050506132d6565b905060008151111561199b5761199481856132d6565b945061199f565b8394505b5050505090565b6119ae612e74565b808060126119ba613974565b5050507fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc960126108066137e2565b60006119f65a6105b0613a08565b905080611a275760405162461bcd60e51b8152600401611a1590614543565b60405180910390611a24613777565b50505b60006005611a336137e2565b906101000a90046001600160a01b03166001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401611a6e9190614407565b60006040518083038160008780611a8361383d565b158015611a9857600080611a95613777565b50505b505a611aa2613a4e565b505050505050158015611ac2573d6000803e3d6000611abf613777565b50505b505050505050565b6010610f986137e2565b6000806107b16137e2565b6002610f986137e2565b6000838214611b1c5760405162461bcd60e51b8152600401611b0a906144b3565b60405180910390611b19613777565b50505b83600b80611b286137e2565b905014611b37575060006112ae565b60005b828110156112a85760006005611b4e6137e2565b906101000a90046001600160a01b03166001600160a01b031663a0356f6e858584818110611b7857fe5b905060200201356040518263ffffffff1660e01b8152600401611b9b9190614407565b6020604051808303818680611bae61383d565b158015611bc357600080611bc0613777565b50505b505a611bcd613889565b5050505050158015611bec573d6000803e3d6000611be9613777565b50505b50505050604051601f3d908101601f19168201604052611c0f9190810190613e3f565b611c1d5760009150506112ae565b600101611b3a565b611c2d612e74565b60008111611c5f5760405162461bcd60e51b8152600401611c4d90614513565b60405180910390611c5c613777565b50505b8080600e611c6b613974565b5050507fcf53b24098da84a81615c6450c76443db743815230079981717af7ff9d647fd4600e6108066137e2565b611ca1612e74565b828114611cd25760405162461bcd60e51b8152600401611cc0906144b3565b60405180910390611ccf613777565b50505b60005b83811015611e42576000858583818110611ceb57fe5b905060200201359050611d0881600b612f6b90919063ffffffff16565b611e3957611d1d600b8263ffffffff612fda16565b80600d6000868686818110611d2e57fe5b9050602002013581526020019081526020016000208190611d4d613974565b5050507fa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a81604051611d7f9190614407565b60405180910390a160006005611d936137e2565b906101000a90046001600160a01b03166001600160a01b031663ed039154858585818110611dbd57fe5b905060200201356040518263ffffffff1660e01b8152600401611de09190614407565b60006040518083038160008780611df561383d565b158015611e0a57600080611e07613777565b50505b505a611e14613a4e565b505050505050158015611e34573d6000803e3d6000611e31613777565b50505b505050505b50600101611cd5565b50611e4b6112b6565b50505050565b6000806060600b80611e616137e2565b806020026020016040519081016040528181529190602083018280611e846137e2565b8015611eb657602002820191906000526020600020905b81611ea46137e2565b81526020019060010190808311611e9b575b50505050509050600081511115610d165760005b8151811015610d14576000611ee48383815181106109e957fe5b6001600160a01b031663dbd06c856040518163ffffffff1660e01b81526004016020604051808303818680611f1761383d565b158015611f2c57600080611f29613777565b50505b505a611f36613889565b5050505050158015611f55573d6000803e3d6000611f52613777565b50505b50505050604051601f3d908101601f19168201604052611f789190810190613e3f565b9050600080611f85612f21565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401611fb09190614407565b60408051808303818680611fc261383d565b158015611fd757600080611fd4613777565b50505b505a611fe1613889565b5050505050158015612000573d6000803e3d6000611ffd613777565b50505b50505050604051601f3d908101601f191682016040526120239190810190613ea9565b91509150600061207583600560009061203a6137e2565b906101000a90046001600160a01b03166001600160a01b031663e32261fe876040518263ffffffff1660e01b8152600401610c689190614407565b9050612087888263ffffffff612ee316565b9750811561209457600196505b505060019092019150611eca9050565b60008080808060056120b46137e2565b906101000a90046001600160a01b03166001600160a01b031663af07aa9d87876040518363ffffffff1660e01b81526004016120f1929190614451565b608060405180830381868061210461383d565b15801561211957600080612116613777565b50505b505a612123613889565b5050505050158015612142573d6000803e3d600061213f613777565b50505b50505050604051601f3d908101601f191682016040526121659190810190613f38565b9299919850965090945092505050565b600061218860068363ffffffff61339216565b92915050565b60008061219d5a6105b0613a08565b9050806121ce5760405162461bcd60e51b81526004016121bc90614543565b604051809103906121cb613777565b50505b600060056121da6137e2565b906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b81526004016020604051808303816000878061221f61383d565b15801561223457600080612231613777565b50505b505a61223e613a4e565b50505050505015801561225e573d6000803e3d600061225b613777565b50505b50505050604051601f3d908101601f191682016040526122819190810190613e3f565b91505090565b6000806000612294612f21565b6001600160a01b031663654a60ac8587631cd554d160e21b6040518463ffffffff1660e01b81526004016122ca9392919061446c565b60206040518083038186806122dd61383d565b1580156122f2576000806122ef613777565b50505b505a6122fc613889565b505050505015801561231b573d6000803e3d6000612318613777565b50505b50505050604051601f3d908101601f1916820160405261233e9190810190613e3f565b905060008061234b610956565b9150915060008061235a611e51565b9150915082806123675750805b9550600f6123736137e2565b61239386612387878663ffffffff612ee316565b9063ffffffff612ee316565b1115965050505050505b9250929050565b600d6020528060005260406000209050610f986137e2565b60008060006123c9613429565b6001600160a01b0316637b1001b7631cd554d160e21b60016040518363ffffffff1660e01b81526004016123fe929190614423565b602060405180830381868061241161383d565b15801561242657600080612423613777565b50505b505a612430613889565b505050505015801561244f573d6000803e3d600061244c613777565b50505b50505050604051601f3d908101601f191682016040526124729190810190613e3f565b905060008061247f610956565b90925090506000612496848463ffffffff612ee316565b905060006124c56a1a1a7062e5185d7e3800006124b9868563ffffffff61343d16565b9063ffffffff61343d16565b905060006124e3600e6124d66137e2565b839063ffffffff612f4116565b90506124ff60116124f26137e2565b829063ffffffff612ee316565b989397509295505050505050565b612515612e74565b80806010612521613974565b5050507f465c1047eec44dfecb260ee7e6187823a7cbdd80f19082eb56c35967b16d8e2660106108066137e2565b612557612e74565b60005b8181101561167b5761259483838381811061257157fe5b90506020020160206125869190810190613c56565b60069063ffffffff61339216565b612622576125ca8383838181106125a757fe5b90506020020160206125bc9190810190613c56565b60069063ffffffff61346716565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f8383838181106125f757fe5b905060200201602061260c9190810190613c56565b60405161261991906143a4565b60405180910390a15b60010161255a565b6011610f986137e2565b600060056107b16137e2565b600e610f986137e2565b612652612e74565b60005b8181101561167b5761268383838381811061266c57fe5b90506020020135600b612f6b90919063ffffffff16565b15612868576126ae83838381811061269757fe5b90506020020135600b61304c90919063ffffffff16565b60006126cb8484848181106126bf57fe5b90506020020135612ed8565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186806126fe61383d565b15801561271357600080612710613777565b50505b505a61271d613889565b505050505015801561273c573d6000803e3d6000612739613777565b50505b50505050604051601f3d908101601f1916820160405261275f9190810190613e3f565b6000818152600d6020529091506040902060009061277b613974565b5050600560009061278a6137e2565b906101000a90046001600160a01b03166001600160a01b0316636431e0bd826040518263ffffffff1660e01b81526004016127c59190614407565b600060405180830381600087806127da61383d565b1580156127ef576000806127ec613777565b50505b505a6127f9613a4e565b505050505050158015612819573d6000803e3d6000612816613777565b50505b505050507f23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b84848481811061284a57fe5b9050602002013560405161285e9190614407565b60405180910390a1505b600101612655565b600f610f986137e2565b60008060056128876137e2565b906101000a90046001600160a01b03166001600160a01b031663d2f00475836040518263ffffffff1660e01b81526004016128c29190614407565b60206040518083038186806128d561383d565b1580156128ea576000806128e7613777565b50505b505a6128f4613889565b5050505050158015612913573d6000803e3d6000612910613777565b50505b50505050604051601f3d908101601f191682016040526121889190810190613e3f565b60006129445a6105b0613a08565b9050806129755760405162461bcd60e51b815260040161296390614543565b60405180910390612972613777565b50505b600060056129816137e2565b906101000a90046001600160a01b03166001600160a01b031663e31f27c184846040518363ffffffff1660e01b815260040161102d929190614451565b60008060056129cb6137e2565b906101000a90046001600160a01b03166001600160a01b031663e32261fe836040518263ffffffff1660e01b81526004016128c29190614407565b6000612a145a6105b0613a08565b905080612a455760405162461bcd60e51b8152600401612a3390614543565b60405180910390612a42613777565b50505b60006005612a516137e2565b906101000a90046001600160a01b03166001600160a01b031663e50a31b384846040518363ffffffff1660e01b815260040161102d929190614451565b6000612a9c5a6105b0613a08565b905080612acd5760405162461bcd60e51b8152600401612abb90614543565b60405180910390612aca613777565b50505b60006005612ad96137e2565b906101000a90046001600160a01b03166001600160a01b031663eb94bbde84846040518363ffffffff1660e01b815260040161102d929190614451565b600080612b21612f21565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b8152600401612b4c9190614407565b6020604051808303818680612b5f61383d565b158015612b7457600080612b71613777565b50505b505a612b7e613889565b5050505050158015612b9d573d6000803e3d6000612b9a613777565b50505b50505050604051601f3d908101601f19168201604052612bc09190810190613df1565b6000848152600d602052909150612be160408220612bdc6137e2565b612ed8565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680612c1461383d565b158015612c2957600080612c26613777565b50505b505a612c33613889565b5050505050158015612c52573d6000803e3d6000612c4f613777565b50505b50505050604051601f3d908101601f19168201604052612c759190810190613e3f565b90506000806005612c846137e2565b906101000a90046001600160a01b03166001600160a01b031663e32261fe866040518263ffffffff1660e01b8152600401612cbf9190614407565b6020604051808303818680612cd261383d565b158015612ce757600080612ce4613777565b50505b505a612cf1613889565b5050505050158015612d10573d6000803e3d6000612d0d613777565b50505b50505050604051601f3d908101601f19168201604052612d339190810190613e3f565b905080821115612d49575060009250612db69050565b6000612d5b828463ffffffff61318116565b90506000612d8e6a1a1a7062e5185d7e3800006124b9612d81878763ffffffff612ee316565b859063ffffffff61343d16565b90506000612d9f60106124d66137e2565b9050612dae60126124f26137e2565b965050505050505b915091565b612dc3612e74565b60005b8181101561167b57612ddd83838381811061257157fe5b15612e6c57612e14838383818110612df157fe5b9050602002016020612e069190810190613c56565b60069063ffffffff61350816565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a593838383818110612e4157fe5b9050602002016020612e569190810190613c56565b604051612e6391906143a4565b60405180910390a15b600101612dc6565b600080612e7f6137e2565b906101000a90046001600160a01b03166001600160a01b03165a612ea1613a08565b6001600160a01b031614612ed65760405162461bcd60e51b8152600401612ec790614523565b6040518091039061144a613777565b565b6000612188826136a9565b600082820183811015612f1a5760405162461bcd60e51b8152600401612f08906144d3565b60405180910390612f17613777565b50505b9392505050565b6000612f3c6c45786368616e6765526174657360981b6136a9565b905090565b6000670de0b6b3a7640000612f5c848463ffffffff6131bb16565b81612f6357fe5b049392505050565b60008280612f776137e2565b15159050612f8757506000612188565b60008281526001840160205260408120612f9f6137e2565b9050801515806112ae57508284600081612fb76137e2565b8110612fbf57fe5b90600052602060002001612fd16137e2565b14949350505050565b612fe48282612f6b565b61144a578180612ff26137e2565b60008381526001850160205290915060409020819061300f613974565b50829150839050806001816130226137e2565b01808261302d613974565b5050600092835291600019830191506020902091929101610df7613974565b6130568282612f6b565b6130845760405162461bcd60e51b8152600401613072906144e3565b60405180910390613081613777565b50505b6000818152600183016020526040812061309c6137e2565b90506000600184806130ac6137e2565b905003905080821461312d5760008482816130c56137e2565b81106130cd57fe5b906000526020600020016130df6137e2565b9050808584816130ed6137e2565b81106130f557fe5b906000526020600020018190613109613974565b5050506000818152600186016020528390604090208190613128613974565b505050505b83806131376137e2565b8061313e57fe5b60019003818190600052602060002001600090613159613974565b505090613164613974565b505060008381526001850160205260409020600090611ac2613974565b6000828211156131b55760405162461bcd60e51b81526004016131a3906144f3565b604051809103906131b2613777565b50505b50900390565b6000826131ca57506000612188565b828202828482816131d757fe5b0414612f1a5760405162461bcd60e51b8152600401612f0890614533565b600060056132016137e2565b906101000a90046001600160a01b03166001600160a01b031663f53037b6826040518263ffffffff1660e01b815260040161323c9190614407565b6000604051808303816000878061325161383d565b15801561326657600080613263613777565b50505b505a613270613a4e565b505050505050158015610df7573d6000803e3d6000611081613777565b600060056132996137e2565b906101000a90046001600160a01b03166001600160a01b0316632462063983836040518363ffffffff1660e01b8152600401611a6e929190614451565b60608151835101604051908082528060200260200182016040528015613306578160200160208202803883390190505b50905060005b83518110156133485783818151811061332157fe5b602002602001015182828151811061333557fe5b602090810291909101015260010161330c565b5060005b825181101561338b5782818151811061336157fe5b602002602001015182828651018151811061337857fe5b602090810291909101015260010161334c565b5092915050565b6000828061339e6137e2565b151590506133ae57506000612188565b6001600160a01b038216600090815260018401602052604081206133d06137e2565b9050801515806112ae57506001600160a01b038316846000816133f16137e2565b81106133f957fe5b9060005260206000200160009061340e6137e2565b6001600160a01b036101009290920a90041614949350505050565b6000612f3c6524b9b9bab2b960d11b6136a9565b6000612f1a8261345b85670de0b6b3a764000063ffffffff6131bb16565b9063ffffffff61373016565b6134718282613392565b61144a57818061347f6137e2565b6001600160a01b0383166000908152600185016020529091506040902081906134a6613974565b50829150839050806001816134b96137e2565b0180826134c4613974565b50506000928352916000198301915060209020919291016001816134e66137e2565b816001600160a01b0302191690836001600160a01b0316021790611ac2613974565b6135128282613392565b6135405760405162461bcd60e51b815260040161352e906144e3565b6040518091039061353d613777565b50505b6001600160a01b038116600090815260018301602052604081206135626137e2565b90506000600184806135726137e2565b905003905080821461363657600084828161358b6137e2565b811061359357fe5b906000526020600020016000906135a86137e2565b906101000a90046001600160a01b03169050808560000184816135c96137e2565b81106135d157fe5b906000526020600020016001816135e66137e2565b816001600160a01b0302191690836001600160a01b0316021790613608613974565b5050506001600160a01b0381166000908152600186016020528390604090208190613631613974565b505050505b83806136406137e2565b8061364757fe5b600190038181906000526020600020016001816136626137e2565b906001600160a01b0302191690613677613974565b505090613682613974565b50506001600160a01b03831660009081526001850160205260409020600090611ac2613974565b6000818152600460205280604081206000906136c36137e2565b6001600160a01b036101009290920a9004169050801515836040516020016136eb9190614379565b6040516020818303038152906040529061338b5760405162461bcd60e51b815260040161371891906144a2565b60405180910390613727613777565b50505092915050565b60008082116137635760405162461bcd60e51b815260040161375190614503565b60405180910390613760613777565b50505b600082848161376e57fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156137af578086015182820160400152602001613794565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561167b57600082820152602001613826565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613826565b638540661f598160e01b81526138ba565b8080831115612188575090919050565b8080831015612188575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156138f25780880151828201526020016138da565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596139478d3d6138aa565b8c01613953818761389a565b5b828110156139685760008152602001613954565b50929c50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020613826565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613826565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613826565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015613a92578089015182820152602001613a7a565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059613ae78e3d6138aa565b8d01613af3818761389a565b5b82811015613b085760008152602001613af4565b50929d50505050505050565b803561218881614675565b60008151905061218881614675565b60008083601f840112613b4957600080613b46613777565b50505b50813567ffffffffffffffff811115613b6a57600080613b67613777565b50505b60208301915083602082028301111561239d57600080613b88613777565b50509250929050565b600082601f830112613bab57600080613ba8613777565b50505b8135613bbe613bb9826145d5565b6145a1565b91508181835260208401935060208101905083856020840282011115613bec57600080613be9613777565b50505b60005b83811015613c185781613c028882613b14565b8452506020928301929190910190600101613bef565b5050505092915050565b80356121888161468f565b6000815190506121888161468f565b803561218881614698565b60008151905061218881614698565b600060208284031215613c7157600080613c6e613777565b50505b60006112ae8484613b14565b600060208284031215613c9857600080613c95613777565b50505b60006112ae8484613b1f565b60008060208385031215613cc057600080613cbd613777565b50505b823567ffffffffffffffff811115613ce057600080613cdd613777565b50505b613cec85828601613b2e565b92509250509250929050565b600060208284031215613d1357600080613d10613777565b50505b813567ffffffffffffffff811115613d3357600080613d30613777565b50505b6112ae84828501613b91565b60008060008060408587031215613d5e57600080613d5b613777565b50505b843567ffffffffffffffff811115613d7e57600080613d7b613777565b50505b613d8a87828801613b2e565b9450945050602085013567ffffffffffffffff811115613db257600080613daf613777565b50505b613dbe87828801613b2e565b95989497509550505050565b600060208284031215613de557600080613de2613777565b50505b60006112ae8484613c22565b600060208284031215613e0c57600080613e09613777565b50505b60006112ae8484613c2d565b600060208284031215613e3357600080613e30613777565b50505b60006112ae8484613c3c565b600060208284031215613e5a57600080613e57613777565b50505b60006112ae8484613c47565b60008060408385031215613e8257600080613e7f613777565b50505b6000613e8e8585613c3c565b9250506020613e9f85828601613c3c565b9150509250929050565b60008060408385031215613ec557600080613ec2613777565b50505b6000613ed18585613c47565b9250506020613e9f85828601613c2d565b600080600060608486031215613f0057600080613efd613777565b50505b6000613f0c8686613c3c565b9350506020613f1d86828701613c3c565b9250506040613f2e86828701613c22565b9150509250925092565b60008060008060808587031215613f5757600080613f54613777565b50505b6000613f638787613c47565b9450506020613f7487828801613c47565b9350506040613f8587828801613c47565b9250506060613f9687828801613c47565b91505092959194509250565b6000613fae8383614027565b505060200190565b613fbf81614618565b82525050565b6000613fd082614605565b613fda818561460f565b9350613fe5836145ff565b8060005b83811015614013578151613ffd8882613fa2565b9750614008836145ff565b925050600101613fe9565b509495945050505050565b613fbf81614623565b613fbf81610f7d565b613fbf61403c82610f7d565b610f7d565b613fbf81614634565b600061405582614605565b61405f818561460f565b935061406f81856020860161463f565b6140788161466b565b9093019392505050565b600061408f601b8361460f565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006140c860358361460f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061411f601b8361460f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061415860138361460f565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b6000614187601e8361460f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006141c0601a8361460f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006141f9601183611493565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061422660168361460f565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b6000614258602f8361460f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006142a960218361460f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006142ec60198361460f565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b6000614325601983611493565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061435e600c8361460f565b6b496e76616c6964207261746560a01b815260200192915050565b6000614384826141ec565b91506143908284614030565b50602001919050565b600061438482614318565b602081016121888284613fb6565b604081016143c08285613fb6565b612f1a6020830184613fb6565b60208082528101612f1a8184613fc5565b60208101612188828461401e565b604081016143fa828561401e565b612f1a602083018461401e565b602081016121888284614027565b604081016143c08285614027565b604081016143fa8285614027565b6040810161443f8285614027565b81810360208301526112ae818461404a565b6040810161445f8285614027565b612f1a6020830184614027565b6060810161447a8286614027565b6144876020830185614027565b6112ae6040830184614027565b602081016121888284614041565b60208082528101612f1a818461404a565b6020808252810161218881614082565b60208082528101612188816140bb565b6020808252810161218881614112565b602080825281016121888161414b565b602080825281016121888161417a565b60208082528101612188816141b3565b6020808252810161218881614219565b602080825281016121888161424b565b602080825281016121888161429c565b60208082528101612188816142df565b6020808252810161218881614351565b608081016145718287614027565b61457e6020830186614027565b61458b6040830185614027565b6145986060830184614027565b95945050505050565b6000604051905081810181811067ffffffffffffffff821117156145cd576000806145ca613777565b50505b604052919050565b600067ffffffffffffffff8211156145f5576000806145f2613777565b50505b5060209081020190565b60200190565b6000815192915050565b90815260200190565b600061218882614628565b151590565b6001600160a01b031690565b600061218882614618565b60005b8381101561465a578082015183820152602001614642565b83811115611e4b5750506000910152565b601f01601f191690565b61467e81614618565b81146109535760008061167b613777565b61467e81614623565b61467e81610f7d56", + "abi": [ + { + "inputs": [ + { + "internalType": "contract CollateralManagerState", + "name": "_state", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxDebt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSkewRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_baseBorrowRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_baseShortRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "baseBorrowRate", + "type": "uint256" + } + ], + "name": "BaseBorrowRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "baseShortRate", + "type": "uint256" + } + ], + "name": "BaseShortRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "CollateralAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "CollateralRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "liquidationPenalty", + "type": "uint256" + } + ], + "name": "LiquidationPenaltyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxDebt", + "type": "uint256" + } + ], + "name": "MaxDebtUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSkewRate", + "type": "uint256" + } + ], + "name": "MaxSkewRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "ShortableSynthAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "ShortableSynthRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "SynthAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "SynthRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "utilisationMultiplier", + "type": "uint256" + } + ], + "name": "UtilisationMultiplierUpdated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "isShort", + "type": "bool" + } + ], + "name": "accrueInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "difference", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "collaterals", + "type": "address[]" + } + ], + "name": "addCollaterals", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "requiredSynthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "addShortableSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "addSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "requiredSynthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "areShortableSynthsSet", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "requiredSynthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "areSynthsAndCurrenciesSet", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "baseBorrowRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "baseShortRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "decrementLongs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "decrementShorts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "exceedsDebtLimit", + "outputs": [ + { + "internalType": "bool", + "name": "canIssue", + "type": "bool" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getBorrowRate", + "outputs": [ + { + "internalType": "uint256", + "name": "borrowRate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "getNewLoanId", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRatesAndTime", + "outputs": [ + { + "internalType": "uint256", + "name": "entryRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIndex", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + } + ], + "name": "getShortRate", + "outputs": [ + { + "internalType": "uint256", + "name": "shortRate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "rateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getShortRatesAndTime", + "outputs": [ + { + "internalType": "uint256", + "name": "entryRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIndex", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address[]", + "name": "collaterals", + "type": "address[]" + } + ], + "name": "hasAllCollaterals", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "hasCollateral", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "incrementLongs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "incrementShorts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "isSynthManaged", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "long", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxSkewRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "collaterals", + "type": "address[]" + } + ], + "name": "removeCollaterals", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synths", + "type": "bytes32[]" + } + ], + "name": "removeShortableSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synths", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "removeSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_baseBorrowRate", + "type": "uint256" + } + ], + "name": "setBaseBorrowRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_baseShortRate", + "type": "uint256" + } + ], + "name": "setBaseShortRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxDebt", + "type": "uint256" + } + ], + "name": "setMaxDebt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSkewRate", + "type": "uint256" + } + ], + "name": "setMaxSkewRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_utilisationMultiplier", + "type": "uint256" + } + ], + "name": "setUtilisationMultiplier", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "short", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "shortableSynthsByKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "state", + "outputs": [ + { + "internalType": "contract CollateralManagerState", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synthsByKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalLong", + "outputs": [ + { + "internalType": "uint256", + "name": "susdValue", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalShort", + "outputs": [ + { + "internalType": "uint256", + "name": "susdValue", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "updateBorrowRatesCollateral", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "updateShortRatesCollateral", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "utilisationMultiplier", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xd6c72b55b60d803f394b8d95a2e62846afcdbf42ba0c0da14c4fb85ca1616774", + "urls": [ + "bzz-raw://fb169199ad94910715218de4559e184d596f504a6da0f06cd2bfac8ea4b30f29", + "dweb:/ipfs/QmcKtPbVAtoAwUqYfWYSpArqm7bGVbrKV7DAf59kNN4RLV" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralManager.sol": "CollateralManager" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralManager.sol": { + "keccak256": "0xd6c72b55b60d803f394b8d95a2e62846afcdbf42ba0c0da14c4fb85ca1616774", + "urls": [ + "bzz-raw://fb169199ad94910715218de4559e184d596f504a6da0f06cd2bfac8ea4b30f29", + "dweb:/ipfs/QmcKtPbVAtoAwUqYfWYSpArqm7bGVbrKV7DAf59kNN4RLV" + ] + } + }, + "version": 1 + } + }, + "CollateralShort": { + "bytecode": "60806040526001600c818162000014620001df565b8160ff021916908315150217906200002b62000241565b50505034801562000046576000806200004362000290565b50505b506040516200652538038062006525833981016040819052620000699162000336565b8585858585858380876001600160a01b038116620000af5760405162461bcd60e51b81526004016200009b9062000452565b60405180910390620000ac62000290565b50505b806000600181620000bf620001df565b816001600160a01b0302191690836001600160a01b0316021790620000e362000241565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516200011a9291906200042c565b60405180910390a15080600260018162000133620001df565b816001600160a01b0302191690836001600160a01b03160217906200015762000241565b505050505084600660006101000a8162000170620001df565b816001600160a01b0302191690836001600160a01b03160217906200019462000241565b5050508260048190620001a662000241565b50505081600a8190620001b862000241565b50505080600b8190620001ca62000241565b505050505050505050505050505050620004db565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200023c5760008282015260200162000223565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000223565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620002ca578086015182820160400152602001620002ad565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6000815190506200030e81620004a3565b92915050565b6000815190506200030e81620004c5565b6000815190506200030e81620004d0565b60008060008060008060c087890312156200035b576000806200035862000290565b50505b6000620003698989620002fd565b96505060206200037c89828a0162000325565b95505060406200038f89828a01620002fd565b9450506060620003a289828a0162000314565b9350506080620003b589828a0162000314565b92505060a0620003c889828a0162000314565b9150509295509295509295565b620003e08162000496565b82525050565b620003e0816200046d565b60006200040060198362000464565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200043c8285620003d5565b6200044b6020830184620003e6565b9392505050565b602080825281016200030e81620003f1565b90815260200190565b60006200030e826200048a565b90565b60006200030e826200046d565b6001600160a01b031690565b60006200030e826200047d565b620004ae816200046d565b8114620004c2576000806200023c62000290565b50565b620004ae816200047a565b620004ae816200047d565b61603a80620004eb6000396000f3fe608060405234801561001957600080610016614b2d565b50505b50600436106102045760003560e01c80637418536011610123578063981bddf2116100b6578063c799bd5c11610085578063c799bd5c146103fc578063d2b8035a1461040f578063de81eda914610422578063e1ec3c6814610435578063f93451ed1461045d57610204565b8063981bddf2146103c6578063aa2d8ce3146103d9578063b562a1ab146103ec578063ba2de9bc146103f457610204565b8063899ffef4116100f2578063899ffef41461038e5780638cd2e0c7146103a35780638da5cb5b146103b6578063925ead11146103be57610204565b8063741853601461035857806379ba5097146103605780637e132355146103685780637e9c9b741461037b57610204565b8063382453771161019b578063481c6a751161016a578063481c6a751461031557806353a47bb71461031d5780635eb2ad011461033257806372e18b6a1461034557610204565b806338245377146102d45780634065b81b146102e757806341c73801146102ef578063441a3e701461030257610204565b80631627540c116101d75780631627540c1461027957806323d60e2e1461028c5780632af64bd31461029f57806330edd961146102b457610204565b806304f3bcec146102125780630710285c146102305780630aebeb4e146102455780630efe6a8b14610266575b60008061020f614b2d565b50505b61021a610470565b6040516102279190615c03565b60405180910390f35b61024361023e36600461505b565b61048f565b005b61025861025336600461519c565b610559565b604051610227929190615bba565b61025861027436600461505b565b61062d565b610243610287366004614fca565b610890565b61024361029a3660046150b1565b610904565b6102a76109eb565b6040516102279190615b90565b6102c76102c236600461519c565b610b6d565b6040516102279190615b9e565b6102c76102e236600461519c565b610b98565b6102a7610bb0565b6102c76102fd36600461519c565b610bc9565b6102586103103660046151ea565b610d6c565b61021a610e3a565b610325610e46565b6040516102279190615af7565b610243610340366004615018565b610e52565b6102a76103533660046150b1565b610e97565b610243610f87565b61024361111e565b6102c76103763660046151ea565b61127e565b6102586103893660046151ea565b611348565b610396611369565b6040516102279190615b7f565b6102586103b136600461505b565b611518565b61032561152f565b6102c761153a565b6102586103d4366004615018565b611544565b6102c76103e736600461519c565b61163b565b6102c7611758565b6102c7611762565b61025861040a36600461519c565b61176c565b61025861041d3660046151ea565b611799565b61032561043036600461519c565b6117a6565b61044861044336600461519c565b6117c0565b60405161022799989796959493929190615de8565b6102c761046b36600461524b565b611864565b6000600261047c614b98565b906101000a90046001600160a01b031681565b600061049c848484611982565b90506104a6611e2d565b6001600160a01b031663a9059cbb5a6104bd614bf3565b836040518363ffffffff1660e01b81526004016104db929190615b48565b602060405180830381600087806104f0614c39565b15801561050557600080610502614b2d565b50505b505a61050f614c85565b50505050505015801561052f573d6000803e3d600061052c614b2d565b50505b50505050604051601f3d908101601f19168201604052610552919081019061513c565b5050505050565b60008061056e5a610568614bf3565b84611e49565b909250905061057b611e2d565b6001600160a01b031663a9059cbb5a610592614bf3565b836040518363ffffffff1660e01b81526004016105b0929190615b48565b602060405180830381600087806105c5614c39565b1580156105da576000806105d7614b2d565b50505b505a6105e4614c85565b505050505050158015610604573d6000803e3d6000610601614b2d565b50505b50505050604051601f3d908101601f19168201604052610627919081019061513c565b50915091565b600080610638611e2d565b6001600160a01b031663dd62ed3e5a61064f614bf3565b5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156106a55760008282015260200161068e565b5050506040518363ffffffff1660e01b81526004016106c5929190615b05565b60206040518083038186806106d8614c39565b1580156106ed576000806106ea614b2d565b50505b505a6106f7614d70565b5050505050158015610716573d6000803e3d6000610713614b2d565b50505b50505050604051601f3d908101601f1916820160405261073991908101906151c3565b83111561076a5760405162461bcd60e51b815260040161075890615cd2565b60405180910390610767614b2d565b50505b610772611e2d565b6001600160a01b03166323b872dd5a610789614bf3565b5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156107df576000828201526020016107c8565b505050866040518463ffffffff1660e01b815260040161080193929190615b20565b60206040518083038160008780610816614c39565b15801561082b57600080610828614b2d565b50505b505a610835614c85565b505050505050158015610855573d6000803e3d6000610852614b2d565b50505b50505050604051601f3d908101601f19168201604052610878919081019061513c565b50610884858585611f91565b90969095509350505050565b610898612098565b80600180806108a5614b98565b816001600160a01b0302191690836001600160a01b03160217906108c7614e36565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516108f99190615af7565b60405180910390a150565b61090c612098565b82811461093d5760405162461bcd60e51b815260040161092b90615c42565b6040518091039061093a614b2d565b50505b60005b838110156109dc57600085858381811061095657fe5b905060200201359050600781908060018161096f614b98565b01808261097a614e36565b5050600092835291600019830191506020902091929101610999614e36565b50505080600860008686868181106109ad57fe5b90506020020135815260200190815260200160002081906109cc614e36565b5050600190920191506109409050565b506109e5610f87565b50505050565b600060606109f7611369565b905060005b8151811015610b63576000828281518110610a1357fe5b60200260200101516000818152600360205290915060409020600090610a37614b98565b6001600160a01b036101009290920a90041660006002610a55614b98565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040518263ffffffff1660e01b8152600401610a909190615b9e565b6020604051808303818680610aa3614c39565b158015610ab857600080610ab5614b2d565b50505b505a610ac2614d70565b5050505050158015610ae1573d6000803e3d6000610ade614b2d565b50505b50505050604051601f3d908101601f19168201604052610b049190810190614ff1565b6001600160a01b0316141580610b4957506000818152600360205260408120600090610b2e614b98565b906101000a90046001600160a01b03166001600160a01b0316145b15610b5a5760009350505050610b6a565b506001016109fc565b5060019150505b90565b60078181610b79614b98565b8110610b8157fe5b906000526020600020019050610b95614b98565b81565b60086020528060005260406000209050610b95614b98565b6000600c610bbc614b98565b906101000a900460ff1681565b6000610bd3614e84565b60008381526005602052604090206040516101208101604052908181610bf7614b98565b8152602001600060018301610c0a614b98565b6001600160a01b036101009290920a900416815260200160028201610c2d614b98565b815260200160038201610c3e614b98565b815260200160048201610c4f614b98565b8152602001600060058301610c62614b98565b906101000a900460ff1615151515815260200160068201610c81614b98565b815260200160078201610c92614b98565b815260200160088201610ca3614b98565b9052509050610cb06120fc565b6001600160a01b031663fbfeca4082600a610cc9614b98565b6004610cd3614b98565b6040518463ffffffff1660e01b8152600401610cf193929190615d9f565b6020604051808303818680610d04614c39565b158015610d1957600080610d16614b2d565b50505b505a610d23614d70565b5050505050158015610d42573d6000803e3d6000610d3f614b2d565b50505b50505050604051601f3d908101601f19168201604052610d6591908101906151c3565b9392505050565b600080610d798484612118565b9092509050610d86611e2d565b6001600160a01b031663a9059cbb5a610d9d614bf3565b856040518363ffffffff1660e01b8152600401610dbb929190615b48565b60206040518083038160008780610dd0614c39565b158015610de557600080610de2614b2d565b50505b505a610def614c85565b505050505050158015610e0f573d6000803e3d6000610e0c614b2d565b50505b50505050604051601f3d908101601f19168201604052610e32919081019061513c565b509250929050565b6000600661047c614b98565b6000600161047c614b98565b610e5a612098565b60008181526009602052829060409020600181610e75614b98565b816001600160a01b0302191690836001600160a01b0316021790610552614e36565b600083600780610ea5614b98565b905014610eb457506000610f7f565b60005b84811015610f79576000868683818110610ecd57fe5b9050602002013590508060078381610ee3614b98565b8110610eeb57fe5b90600052602060002001610efd614b98565b14610f0d57600092505050610f7f565b60078281610f19614b98565b8110610f2157fe5b90600052602060002001610f33614b98565b60086000878786818110610f4357fe5b905060200201358152602001908152602001600020610f60614b98565b14610f7057600092505050610f7f565b50600101610eb7565b50600190505b949350505050565b6060610f91611369565b905060005b815181101561111a576000828281518110610fad57fe5b602002602001015190506000806002610fc4614b98565b906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610ff49190615aec565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611020929190615bc8565b6020604051808303818680611033614c39565b15801561104857600080611045614b2d565b50505b505a611052614d70565b5050505050158015611071573d6000803e3d600061106e614b2d565b50505b50505050604051601f3d908101601f191682016040526110949190810190614ff1565b600083815260036020529091508190604090206001816110b2614b98565b816001600160a01b0302191690836001600160a01b03160217906110d4614e36565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa688282604051611108929190615bac565b60405180910390a15050600101610f96565b5050565b6000600161112a614b98565b906101000a90046001600160a01b03166001600160a01b03165a61114c614bf3565b6001600160a01b0316146111845760405162461bcd60e51b815260040161117290615c32565b60405180910390611181614b2d565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806111b0614b98565b906101000a90046001600160a01b031660016000906111cd614b98565b906101000a90046001600160a01b03166040516111eb929190615b63565b60405180910390a1600060016111ff614b98565b906101000a90046001600160a01b03166000806101000a8161121f614b98565b816001600160a01b0302191690836001600160a01b0316021790611241614e36565b5050506000600160006101000a81611257614b98565b816001600160a01b0302191690836001600160a01b0316021790611279614e36565b505050565b60006112886120fc565b6001600160a01b0316638a7399758484600a6112a2614b98565b60046112ac614b98565b6040518563ffffffff1660e01b81526004016112cb9493929190615ed4565b60206040518083038186806112de614c39565b1580156112f3576000806112f0614b2d565b50505b505a6112fd614d70565b505050505015801561131c573d6000803e3d6000611319614b2d565b50505b50505050604051601f3d908101601f1916820160405261133f91908101906151c3565b90505b92915050565b60008061135e5a611357614bf3565b85856121e6565b909590945092505050565b606080611374612411565b9050606060066040519080825280602002602001820160405280156113a3578160200160208202803883390190505b50905066119959541bdbdb60ca1b816000815181106113be57fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106113e857fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061140e57fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061143757fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061145d57fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b8160058151811061148857fe5b60200260200101818152505060606114a08383612470565b9050611510816007806114b1614b98565b8060200260200160405190810160405281815291906020830182806114d4614b98565b801561150657602002820191906000526020600020905b816114f4614b98565b815260200190600101908083116114eb575b5050505050612470565b935050505090565b600080610884855a611528614bf3565b868661252c565b60008061047c614b98565b600a610b95614b98565b60008061154f614e84565b60008481526005602052604090206040516101208101604052908181611573614b98565b8152602001600060018301611586614b98565b6001600160a01b036101009290920a9004168152602001600282016115a9614b98565b8152602001600382016115ba614b98565b8152602001600482016115cb614b98565b81526020016000600583016115de614b98565b906101000a900460ff16151515158152602001600682016115fd614b98565b81526020016007820161160e614b98565b81526020016008820161161f614b98565b90525090506080810151816040015192509250505b9250929050565b6000611645614e84565b60008381526005602052604090206040516101208101604052908181611669614b98565b815260200160006001830161167c614b98565b6001600160a01b036101009290920a90041681526020016002820161169f614b98565b8152602001600382016116b0614b98565b8152602001600482016116c1614b98565b81526020016000600583016116d4614b98565b906101000a900460ff16151515158152602001600682016116f3614b98565b815260200160078201611704614b98565b815260200160088201611715614b98565b90525090506117226120fc565b6001600160a01b031663e99f964782600461173b614b98565b6040518363ffffffff1660e01b8152600401610cf1929190615d82565b6004610b95614b98565b600b610b95614b98565b6000806117815a61177b614bf3565b846126c3565b909250905080156117945761057b611e2d565b915091565b60008061135e84846127df565b60096020528060005260406000206000915061047c614b98565b60056020528060005260406000209050806117d9614b98565b906000600182016117e8614b98565b906101000a90046001600160a01b03169080600201611805614b98565b9080600301611812614b98565b908060040161181f614b98565b9060006005820161182e614b98565b906101000a900460ff169080600601611845614b98565b9080600701611852614b98565b908060080161185f614b98565b905089565b600061186e611e2d565b6001600160a01b03166323b872dd5a611885614bf3565b5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156118db576000828201526020016118c4565b505050876040518463ffffffff1660e01b81526004016118fd93929190615b20565b60206040518083038160008780611912614c39565b15801561192757600080611924614b2d565b50505b505a611931614c85565b505050505050158015611951573d6000803e3d600061194e614b2d565b50505b50505050604051601f3d908101601f19168201604052611974919081019061513c565b50610f7f8484846001612df3565b600061198c6137f7565b6119946138c4565b600082116119c65760405162461bcd60e51b81526004016119b490615d72565b604051809103906119c3614b2d565b50505b60006119d28486613942565b90506119f25a6119e0614bf3565b826003016119ec614b98565b856139ca565b600a6119fc614b98565b611a046120fc565b6001600160a01b031663e99f9647836004611a1d614b98565b6040518363ffffffff1660e01b8152600401611a3a929190615dca565b6020604051808303818680611a4d614c39565b158015611a6257600080611a5f614b2d565b50505b505a611a6c614d70565b5050505050158015611a8b573d6000803e3d6000611a88614b2d565b50505b50505050604051601f3d908101601f19168201604052611aae91908101906151c3565b10611add5760405162461bcd60e51b8152600401611acb90615d62565b60405180910390611ada614b2d565b50505b6000611ae76120fc565b6001600160a01b031663fbfeca4083600a611b00614b98565b6004611b0a614b98565b6040518463ffffffff1660e01b8152600401611b2893929190615dd9565b6020604051808303818680611b3b614c39565b158015611b5057600080611b4d614b2d565b50505b505a611b5a614d70565b5050505050158015611b79573d6000803e3d6000611b76614b2d565b50505b50505050604051601f3d908101601f19168201604052611b9c91908101906151c3565b90506000848210611bad5784611baf565b815b90506000611bda84600601611bc2614b98565b85600401611bce614b98565b9063ffffffff613ab216565b9050808210611c0357611bf6885a611bf0614bf3565b86613aef565b9550610d65945050505050565b611c215a611c0f614bf3565b85600301611c1b614b98565b846139ca565b611c2b8483613b5b565b611c336120fc565b6001600160a01b0316633c4aa0f385600301611c4d614b98565b846004611c58614b98565b6040518463ffffffff1660e01b8152600401611c7693929190615be8565b6020604051808303818680611c89614c39565b158015611c9e57600080611c9b614b2d565b50505b505a611ca8614d70565b5050505050158015611cc7573d6000803e3d6000611cc4614b2d565b50505b50505050604051601f3d908101601f19168201604052611cea91908101906151c3565b9450611d088585600201611cfc614b98565b9063ffffffff613eda16565b8060028601611d15614e36565b505050611d466008600086600301611d2b614b98565b8152602001908152602001600020611d41614b98565b613f14565b6001600160a01b0316639dc29fac5a611d5d614bf3565b846040518363ffffffff1660e01b8152600401611d7b929190615b48565b60006040518083038160008780611d90614c39565b158015611da557600080611da2614b2d565b50505b505a611daf614c85565b505050505050158015611dcf573d6000803e3d6000611dcc614b2d565b50505b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5885a611e08614bf3565b8589604051611e1a9493929190615e6e565b60405180910390a2505050509392505050565b6000611e446814de5b9d1a1cd554d160ba1b613f1b565b905090565b600080611e546137f7565b611e5c6138c4565b6000611e688486613942565b9050611f38816040516101208101604052908181611e84614b98565b8152602001600060018301611e97614b98565b6001600160a01b036101009290920a900416815260200160028201611eba614b98565b815260200160038201611ecb614b98565b815260200160048201611edc614b98565b8152602001600060058301611eef614b98565b906101000a900460ff1615151515815260200160068201611f0e614b98565b815260200160078201611f1f614b98565b815260200160088201611f30614b98565b905250613fa2565b611f4385868361405e565b90935091506001600160a01b0385167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051611f819190615b9e565b60405180910390a2509250929050565b600080611f9c6137f7565b611fa46138c4565b60008311611fd65760405162461bcd60e51b8152600401611fc490615d32565b60405180910390611fd3614b2d565b50505b60008481526005602052604081209050611ffa81600701611ff5614b98565b614419565b61200381614436565b6120138482600201611bce614b98565b8060028301612020614e36565b505050856001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c86868460020161205c614b98565b60405161206b93929190615be8565b60405180910390a28060040161207f614b98565b8160020161208b614b98565b9250925050935093915050565b6000806120a3614b98565b906101000a90046001600160a01b03166001600160a01b03165a6120c5614bf3565b6001600160a01b0316146120fa5760405162461bcd60e51b81526004016120eb90615cb2565b6040518091039061111a614b2d565b565b6000611e446d10dbdb1b185d195c985b155d1a5b60921b613f1b565b6000806121236137f7565b61212b6138c4565b600061213f855a61213a614bf3565b613942565b90506121518482600201611cfc614b98565b806002830161215e614e36565b50505061216a8161459b565b5a612173614bf3565b6001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038686846002016121ab614b98565b6040516121ba93929190615be8565b60405180910390a2806004016121ce614b98565b816002016121da614b98565b92509250509250929050565b6000806121f16137f7565b6121f96138c4565b60006122058587613942565b9050612221816040516101208101604052908181611e84614b98565b61223d81600601612230614b98565b859063ffffffff613ab216565b935061225a8160060161224e614b98565b82600401611bce614b98565b84111561228b5760405162461bcd60e51b815260040161227990615ca2565b60405180910390612288614b2d565b50505b6000806122966145e3565b6001600160a01b031663f450aa3487856003016122b1614b98565b631cd554d160e21b6040518463ffffffff1660e01b81526004016122d793929190615be8565b60606040518083038186806122ea614c39565b1580156122ff576000806122fc614b2d565b50505b505a612309614d70565b5050505050158015612328573d6000803e3d6000612325614b2d565b50505b50505050604051601f3d908101601f1916820160405261234b9190810190615275565b50915091506123608284600201611cfc614b98565b806002850161236d614e36565b50505061237a8387613b5b565b61238b81631cd554d160e21b6145fa565b5a612394614ede565b80600885016123a1614e36565b5050506001600160a01b038816807fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f8989600488016123de614b98565b6040516123ed93929190615be8565b60405180910390a38583600201612402614b98565b94509450505050935093915050565b6060600160405190808252806020026020018201604052801561243e578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061246157fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156124a0578160200160208202803883390190505b50905060005b83518110156124e2578381815181106124bb57fe5b60200260200101518282815181106124cf57fe5b60209081029190910101526001016124a6565b5060005b8251811015612525578281815181106124fb57fe5b602002602001015182828651018151811061251257fe5b60209081029190910101526001016124e6565b5092915050565b6000806125376137f7565b61253f6138c4565b60008481526005602052604081209050612569816040516101208101604052908181611e84614b98565b61257f8682600301612579614b98565b866139ca565b61258881614436565b6125928185613b5b565b6125a56008600083600301611d2b614b98565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b81526004016125d2929190615b71565b600060405180830381600087806125e7614c39565b1580156125fc576000806125f9614b2d565b50505b505a612606614c85565b505050505050158015612626573d6000803e3d6000612623614b2d565b50505b505050505a612633614ede565b8060088301612640614e36565b505050856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f878785600401612686614b98565b60405161269593929190615be8565b60405180910390a3806004016126a9614b98565b816002016126b5614b98565b925092505094509492505050565b6000818152600560205280806040812090506126eb8585836004016126e6614b98565b6121e6565b909350915060006127636127565a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561274e57600082820152602001612737565b50505061481e565b859063ffffffff61491416565b905061277681631cd554d160e21b6145fa565b612786838263ffffffff613eda16565b925061279182614929565b856001600160a01b03167f70346f402be1b9ee8737498472823400f3a14730d534d309f1d2d365ca7511e68686866040516127ce93929190615be8565b60405180910390a250509250929050565b6000806127ea6137f7565b6127f26138c4565b6000612801855a61213a614bf3565b905061281d816040516101208101604052908181611e84614b98565b61282d8482600401611bce614b98565b806004830161283a614e36565b5050506128468161459b565b60006128b96128ac5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156128a45760008282015260200161288d565b50505061498a565b869063ffffffff61491416565b905060006128cd868363ffffffff613eda16565b90506000600584016128dd614b98565b906101000a900460ff1615612c0757600060066128f8614b98565b906101000a90046001600160a01b03166001600160a01b031663e31f27c184600301612922614b98565b886040518363ffffffff1660e01b8152600401612940929190615bba565b60006040518083038160008780612955614c39565b15801561296a57600080612967614b2d565b50505b505a612974614c85565b505050505050158015612994573d6000803e3d6000612991614b2d565b50505b505050506129a0611e2d565b6001600160a01b031663867904b45a6129b7614bf3565b6129bf6149d6565b6001600160a01b031663654a60ac876003016129d9614b98565b86631cd554d160e21b6040518463ffffffff1660e01b8152600401612a0093929190615be8565b6020604051808303818680612a13614c39565b158015612a2857600080612a25614b2d565b50505b505a612a32614d70565b5050505050158015612a51573d6000803e3d6000612a4e614b2d565b50505b50505050604051601f3d908101601f19168201604052612a7491908101906151c3565b6040518363ffffffff1660e01b8152600401612a91929190615b48565b60006040518083038160008780612aa6614c39565b158015612abb57600080612ab8614b2d565b50505b505a612ac5614c85565b505050505050158015612ae5573d6000803e3d6000612ae2614b2d565b50505b5050505060006001600160a01b03166009600085600301612b04614b98565b8152602001908152602001600020600090612b1d614b98565b906101000a90046001600160a01b03166001600160a01b031614612c02576009600084600301612b4b614b98565b8152602001908152602001600020600090612b64614b98565b906101000a90046001600160a01b03166001600160a01b031663db454a515a612b8b614bf3565b886040518363ffffffff1660e01b8152600401612ba9929190615b48565b60006040518083038160008780612bbe614c39565b158015612bd357600080612bd0614b2d565b50505b505a612bdd614c85565b505050505050158015612bfd573d6000803e3d6000612bfa614b2d565b50505b505050505b612d54565b60006006612c13614b98565b906101000a90046001600160a01b03166001600160a01b031663eb94bbde84600301612c3d614b98565b886040518363ffffffff1660e01b8152600401612c5b929190615bba565b60006040518083038160008780612c70614c39565b158015612c8557600080612c82614b2d565b50505b505a612c8f614c85565b505050505050158015612caf573d6000803e3d6000612cac614b2d565b50505b50505050612cc66008600085600301611d2b614b98565b6001600160a01b031663867904b45a612cdd614bf3565b836040518363ffffffff1660e01b8152600401612cfb929190615b48565b60006040518083038160008780612d10614c39565b158015612d2557600080612d22614b2d565b50505b505a612d2f614c85565b505050505050158015612d4f573d6000803e3d6000612d4c614b2d565b50505b505050505b612d698284600301612d64614b98565b6145fa565b5a612d72614ede565b8060088501612d7f614e36565b5050505a612d8b614bf3565b6001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106548888604051612dc5929190615bba565b60405180910390a282600401612dd9614b98565b83600201612de5614b98565b945094505050509250929050565b6000612dfd6137f7565b612e056138c4565b6000600c612e11614b98565b906101000a900460ff16612e495760405162461bcd60e51b8152600401612e3790615d22565b60405180910390612e46614b2d565b50505b6000838152600860205260408120612e5f614b98565b11612e8e5760405162461bcd60e51b8152600401612e7c90615c52565b60405180910390612e8b614b2d565b50505b612e966149d6565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b8152600401612ec19190615b9e565b6020604051808303818680612ed4614c39565b158015612ee957600080612ee6614b2d565b50505b505a612ef3614d70565b5050505050158015612f12573d6000803e3d6000612f0f614b2d565b50505b50505050604051601f3d908101601f19168201604052612f35919081019061513c565b15612f645760405162461bcd60e51b8152600401612f5290615d02565b60405180910390612f61614b2d565b50505b600b612f6e614b98565b851015612f9f5760405162461bcd60e51b8152600401612f8d90615d52565b60405180910390612f9c614b2d565b50505b600080806006612fad614b98565b906101000a90046001600160a01b03166001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401612fea929190615bba565b60408051808303818680612ffc614c39565b1580156130115760008061300e614b2d565b50505b505a61301b614d70565b505050505015801561303a573d6000803e3d6000613037614b2d565b50505b50505050604051601f3d908101601f1916820160405261305d9190810190615163565b9150915081801561306c575080155b61309a5760405162461bcd60e51b815260040161308890615ce2565b60405180910390613097614b2d565b50505b6130a4878661127e565b8611156130d55760405162461bcd60e51b81526004016130c390615d42565b604051809103906130d2614b2d565b50505b60006131316131245a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529250602061288d565b889063ffffffff61491416565b90506000613145888363ffffffff613eda16565b905060006006613153614b98565b906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b815260040160206040518083038160008780613198614c39565b1580156131ad576000806131aa614b2d565b50505b505a6131b7614c85565b5050505050501580156131d7573d6000803e3d60006131d4614b2d565b50505b50505050604051601f3d908101601f191682016040526131fa91908101906151c3565b94506040518061012001604052808681526020015a613217614bf3565b6001600160a01b031681526020018a8152602001888152602001898152602001871515815260200160008152602001600081526020015a613256614ede565b90526000868152600560205260409020815181613271614e36565b5050602082015160018083019081613287614b98565b816001600160a01b0302191690836001600160a01b03160217906132a9614e36565b5050506040820151816002016132bd614e36565b50506060820151816003016132d0614e36565b50506080820151816004016132e3614e36565b505060a0820151600582016001816132f9614b98565b8160ff0219169083151502179061330e614e36565b50505060c082015181600601613322614e36565b505060e082015181600701613335614e36565b505061010082015181600801613349614e36565b50505060008681526005602052613364915060409020614436565b61336e82886145fa565b85156136505761337c611e2d565b6001600160a01b031663867904b45a613393614bf3565b61339b6149d6565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b81526004016133d193929190615be8565b60206040518083038186806133e4614c39565b1580156133f9576000806133f6614b2d565b50505b505a613403614d70565b5050505050158015613422573d6000803e3d600061341f614b2d565b50505b50505050604051601f3d908101601f1916820160405261344591908101906151c3565b6040518363ffffffff1660e01b8152600401613462929190615b48565b60006040518083038160008780613477614c39565b15801561348c57600080613489614b2d565b50505b505a613496614c85565b5050505050501580156134b6573d6000803e3d60006134b3614b2d565b50505b5050505060066000906134c7614b98565b906101000a90046001600160a01b03166001600160a01b031663e31f27c1888a6040518363ffffffff1660e01b8152600401613504929190615bba565b60006040518083038160008780613519614c39565b15801561352e5760008061352b614b2d565b50505b505a613538614c85565b505050505050158015613558573d6000803e3d6000613555614b2d565b50505b50505060008881526009602052905060408120600090613576614b98565b906101000a90046001600160a01b03166001600160a01b03161461364b5760008781526009602052604090206000906135ad614b98565b906101000a90046001600160a01b03166001600160a01b031663db454a515a6135d4614bf3565b8a6040518363ffffffff1660e01b81526004016135f2929190615b48565b60006040518083038160008780613607614c39565b15801561361c57600080613619614b2d565b50505b505a613626614c85565b505050505050158015613646573d6000803e3d6000613643614b2d565b50505b505050505b61379a565b6000878152600860205261366a9060409020611d41614b98565b6001600160a01b031663867904b45a613681614bf3565b836040518363ffffffff1660e01b815260040161369f929190615b48565b600060405180830381600087806136b4614c39565b1580156136c9576000806136c6614b2d565b50505b505a6136d3614c85565b5050505050501580156136f3573d6000803e3d60006136f0614b2d565b50505b505050506006600090613704614b98565b906101000a90046001600160a01b03166001600160a01b031663eb94bbde888a6040518363ffffffff1660e01b8152600401613741929190615bba565b60006040518083038160008780613756614c39565b15801561376b57600080613768614b2d565b50505b505a613775614c85565b505050505050158015613795573d6000803e3d6000613792614b2d565b50505b505050505b5a6137a3614bf3565b6001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b876040516137e3959493929190615eef565b60405180910390a250505050949350505050565b6137ff6149d6565b6001600160a01b0316632528f0fe6004613817614b98565b6040518263ffffffff1660e01b81526004016138339190615b9e565b6020604051808303818680613846614c39565b15801561385b57600080613858614b2d565b50505b505a613865614d70565b5050505050158015613884573d6000803e3d6000613881614b2d565b50505b50505050604051601f3d908101601f191682016040526138a7919081019061513c565b156120fa5760405162461bcd60e51b81526004016120eb90615d02565b6138cc6149f1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186806138ff614c39565b15801561391457600080613911614b2d565b50505b505a61391e614d70565b50505050501580156109e5573d6000803e3d600061393a614b2d565b505050505050565b6000828152600560205260408120905061396181600701611ff5614b98565b6001600160a01b038216600060018301613979614b98565b906101000a90046001600160a01b03166001600160a01b0316146139c15760405162461bcd60e51b81526004016139af90615d12565b604051809103906139be614b2d565b50505b61134281614436565b6000828152600860205281906139e69060409020611d41614b98565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401613a119190615af7565b6020604051808303818680613a24614c39565b158015613a3957600080613a36614b2d565b50505b505a613a43614d70565b5050505050158015613a62573d6000803e3d6000613a5f614b2d565b50505b50505050604051601f3d908101601f19168201604052613a8591908101906151c3565b10156112795760405162461bcd60e51b8152600401613aa390615c92565b60405180910390610552614b2d565b60008282018381101561133f5760405162461bcd60e51b8152600401613ad790615c62565b60405180910390613ae6614b2d565b50509392505050565b600080613afd85858561405e565b90925090506001600160a01b038085169086167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85613b3a614b98565b8585604051613b4b93929190615be8565b60405180910390a3935093915050565b60008111613b8d5760405162461bcd60e51b8152600401613b7b90615d72565b60405180910390613b8a614b2d565b50505b600082600601613b9b614b98565b1115613c0f57600082600601613baf614b98565b8211613bbb5781613bc7565b82600601613bc7614b98565b9050613bd98184600601611cfc614b98565b8060068501613be6614e36565b50613bfb91508390508263ffffffff613eda16565b9150613c0d8184600301612d64614b98565b505b801561111a57613c258183600401611cfc614b98565b8060048401613c32614e36565b50505081600501600090613c44614b98565b906101000a900460ff1615613e2b5760006006613c5f614b98565b906101000a90046001600160a01b03166001600160a01b0316635246f2b983600301613c89614b98565b836040518363ffffffff1660e01b8152600401613ca7929190615bba565b60006040518083038160008780613cbc614c39565b158015613cd157600080613cce614b2d565b50505b505a613cdb614c85565b505050505050158015613cfb573d6000803e3d6000613cf8614b2d565b50505b5050505060006001600160a01b03166009600084600301613d1a614b98565b8152602001908152602001600020600090613d33614b98565b906101000a90046001600160a01b03166001600160a01b031614613e26576009600083600301613d61614b98565b8152602001908152602001600020600090613d7a614b98565b6001600160a01b036101009290920a90041663f3fef3a3600060018501613d9f614b98565b906101000a90046001600160a01b0316836040518363ffffffff1660e01b8152600401613dcd929190615b48565b60006040518083038160008780613de2614c39565b158015613df757600080613df4614b2d565b50505b505a613e01614c85565b505050505050158015613e21573d6000803e3d6000613e1e614b2d565b50505b505050505b61111a565b60006006613e37614b98565b906101000a90046001600160a01b03166001600160a01b031663e50a31b383600301613e61614b98565b836040518363ffffffff1660e01b8152600401613e7f929190615bba565b60006040518083038160008780613e94614c39565b158015613ea957600080613ea6614b2d565b50505b505a613eb3614c85565b50505050505015801561393a573d6000803e3d6000613ed0614b2d565b5050505050505050565b600082821115613f0e5760405162461bcd60e51b8152600401613efc90615c82565b60405180910390613f0b614b2d565b50505b50900390565b6000611342825b600081815260036020528060408120600090613f35614b98565b6001600160a01b036101009290920a900416905080151583604051602001613f5d9190615acc565b604051602081830303815290604052906125255760405162461bcd60e51b8152600401613f8a9190615c11565b60405180910390613f99614b2d565b50505092915050565b613faf8160e00151614419565b5a613fb8614ede565b61402e61401c5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561401457600082820152602001613ffd565b505050614a0b565b8361010001519063ffffffff613ab216565b111561405b5760405162461bcd60e51b815260040161404c90615cf2565b60405180910390611279614b2d565b50565b600080600061407284600601611bc2614b98565b905083600401614080614b98565b92508360020161408e614b98565b91506140a685856003016140a0614b98565b836139ca565b6140b96008600086600301611d2b614b98565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016140e6929190615b71565b600060405180830381600087806140fb614c39565b1580156141105760008061410d614b2d565b50505b505a61411a614c85565b50505050505015801561413a573d6000803e3d6000614137614b2d565b50505b505050508360050160009061414d614b98565b906101000a900460ff16156143345760006006614168614b98565b906101000a90046001600160a01b03166001600160a01b0316635246f2b985600301614192614b98565b8660040161419e614b98565b6040518363ffffffff1660e01b81526004016141bb929190615bba565b600060405180830381600087806141d0614c39565b1580156141e5576000806141e2614b2d565b50505b505a6141ef614c85565b50505050505015801561420f573d6000803e3d600061420c614b2d565b50505b5050505060006001600160a01b0316600960008660030161422e614b98565b8152602001908152602001600020600090614247614b98565b906101000a90046001600160a01b03166001600160a01b03161461432f576009600085600301614275614b98565b815260200190815260200160002060009061428e614b98565b906101000a90046001600160a01b03166001600160a01b031663f3fef3a387866004016142b9614b98565b6040518363ffffffff1660e01b81526004016142d6929190615b71565b600060405180830381600087806142eb614c39565b158015614300576000806142fd614b2d565b50505b505a61430a614c85565b50505050505015801561432a573d6000803e3d6000614327614b2d565b50505b505050505b6143ec565b60006006614340614b98565b906101000a90046001600160a01b03166001600160a01b031663e50a31b38560030161436a614b98565b86600401614376614b98565b6040518363ffffffff1660e01b8152600401614393929190615bba565b600060405180830381600087806143a8614c39565b1580156143bd576000806143ba614b2d565b50505b505a6143c7614c85565b5050505050501580156143e7573d6000803e3d60006143e4614b2d565b50505b505050505b614407846006016143fb614b98565b85600301612d64614b98565b61441084614929565b50935093915050565b8061405b5760405162461bcd60e51b815260040161404c90615c72565b600080806006614444614b98565b906101000a90046001600160a01b03166001600160a01b031663800546668460070161446e614b98565b8560030161447a614b98565b600060058801614488614b98565b906101000a900460ff166040518463ffffffff1660e01b81526004016144b093929190615eac565b6040805180830381600087806144c4614c39565b1580156144d9576000806144d6614b2d565b50505b505a6144e3614c85565b505050505050158015614503573d6000803e3d6000614500614b2d565b50505b50505050604051601f3d908101601f191682016040526145269190810190615212565b91509150600083600701614538614b98565b1561455e57614559838560040161454d614b98565b9063ffffffff614a5b16565b614561565b60005b90506145738185600601611bce614b98565b8060068601614580614e36565b50505081846007018190614592614e36565b50505050505050565b806004016145a7614b98565b6145b05761405b565b600a6145ba614b98565b6145c6826103e7614b98565b1161405b5760405162461bcd60e51b815260040161404c90615c22565b6000611e446822bc31b430b733b2b960b91b613f1b565b811561111a57631cd554d160e21b81146146c3576146166149d6565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161464c93929190615be8565b602060405180830381868061465f614c39565b15801561467457600080614671614b2d565b50505b505a61467e614d70565b505050505015801561469d573d6000803e3d600061469a614b2d565b50505b50505050604051601f3d908101601f191682016040526146c091908101906151c3565b91505b6146cb611e2d565b6001600160a01b031663867904b46146e1614a85565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b81526004016020604051808303818680614714614c39565b15801561472957600080614726614b2d565b50505b505a614733614d70565b5050505050158015614752573d6000803e3d600061474f614b2d565b50505b50505050604051601f3d908101601f191682016040526147759190810190614ff1565b846040518363ffffffff1660e01b8152600401614793929190615b71565b600060405180830381600087806147a8614c39565b1580156147bd576000806147ba614b2d565b50505b505a6147c7614c85565b5050505050501580156147e7573d6000803e3d60006147e4614b2d565b50505b505050506147f3614a85565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401613e7f9190615b9e565b6000614828614a9a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e636f6c6c617073654665655261746560881b8560405160200161486d929190615aa6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016148a0929190615bba565b60206040518083038186806148b3614c39565b1580156148c8576000806148c5614b2d565b50505b505a6148d2614d70565b50505050501580156148f1573d6000803e3d60006148ee614b2d565b50505b50505050604051601f3d908101601f1916820160405261134291908101906151c3565b600061133f8383670de0b6b3a7640000614ab7565b60008060048301614938614e36565b505050600081600201819061494b614e36565b505050600081600601819061495e614e36565b5050506000816007018190614971614e36565b5050505a61497d614ede565b80600883016109e5614e36565b6000614994614a9a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6b69737375654665655261746560a01b8560405160200161486d929190615aa6565b6000611e446c45786368616e6765526174657360981b613f1b565b6000611e446b53797374656d53746174757360a01b613f1b565b6000614a15614a9a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b8560405160200161486d929190615aa6565b6000670de0b6b3a7640000614a76848463ffffffff614af316565b81614a7d57fe5b049392505050565b6000611e4466119959541bdbdb60ca1b613f1b565b6000611e446e466c657869626c6553746f7261676560881b613f1b565b600080600a8304614ace868663ffffffff614af316565b81614ad557fe5b0490506005600a820610614ae757600a015b600a9004949350505050565b600082614b0257506000611342565b82820282848281614b0f57fe5b041461133f5760405162461bcd60e51b8152600401613ad790615cc2565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614b65578086015182820160400152602001614b4a565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561127957600082820152602001614bdc565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bdc565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bdc565b6385979f76598160e01b8152614cb6565b8080831115611342575090919050565b8080831015611342575090919050565b836004820152846024820152606060448201528760648201526084810160005b89811015614cee578089015182820152602001614cd6565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059614d438e3d614ca6565b8d01614d4f8187614c96565b5b82811015614d645760008152602001614d50565b50929d50505050505050565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b88811015614db4578088015182820152602001614d9c565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059614e098d3d614ca6565b8c01614e158187614c96565b5b82811015614e2a5760008152602001614e16565b50929c50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614bdc565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614bdc565b80356113428161600e565b6000815190506113428161600e565b60008083601f840112614f5957600080614f56614b2d565b50505b50813567ffffffffffffffff811115614f7a57600080614f77614b2d565b50505b60208301915083602082028301111561163457600080614f98614b2d565b50509250929050565b60008151905061134281616028565b803561134281616031565b60008151905061134281616031565b600060208284031215614fe557600080614fe2614b2d565b50505b6000610f7f8484614f24565b60006020828403121561500c57600080615009614b2d565b50505b6000610f7f8484614f2f565b6000806040838503121561503457600080615031614b2d565b50505b60006150408585614f24565b925050602061505185828601614fb0565b9150509250929050565b60008060006060848603121561507957600080615076614b2d565b50505b60006150858686614f24565b935050602061509686828701614fb0565b92505060406150a786828701614fb0565b9150509250925092565b600080600080604085870312156150d0576000806150cd614b2d565b50505b843567ffffffffffffffff8111156150f0576000806150ed614b2d565b50505b6150fc87828801614f3e565b9450945050602085013567ffffffffffffffff81111561512457600080615121614b2d565b50505b61513087828801614f3e565b95989497509550505050565b60006020828403121561515757600080615154614b2d565b50505b6000610f7f8484614fa1565b6000806040838503121561517f5760008061517c614b2d565b50505b600061518b8585614fa1565b925050602061505185828601614fa1565b6000602082840312156151b7576000806151b4614b2d565b50505b6000610f7f8484614fb0565b6000602082840312156151de576000806151db614b2d565b50505b6000610f7f8484614fbb565b6000806040838503121561520657600080615203614b2d565b50505b60006150408585614fb0565b6000806040838503121561522e5760008061522b614b2d565b50505b600061523a8585614fbb565b925050602061505185828601614fbb565b60008060006060848603121561526957600080615266614b2d565b50505b60006150858686614fb0565b60008060006060848603121561529357600080615290614b2d565b50505b600061529f8686614fbb565b93505060206152b086828701614fbb565b92505060406150a786828701614fbb565b60006152cd8383615360565b505060200190565b6152de81615f7b565b82525050565b6152de81615f6b565b6152de6152f982615f6b565b615fed565b600061530982615f41565b6153138185615f4b565b935061531e83615f3b565b8060005b8381101561534c57815161533688826152c1565b975061534183615f3b565b925050600101615322565b509495945050505050565b6152de81615f76565b6152de81610b6a565b6152de61537582610b6a565b610b6a565b6152de81615f82565b600061538e82615f41565b6153988185615f4b565b93506153a8818560208601615f8d565b6153b181615ffe565b9093019392505050565b60006153c8600e83615f4b565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b60006153f2603583615f4b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615449601583615f4b565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b600061547a601483615f4b565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b60006154aa601b83615f4b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006154e3600e83615f4b565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b600061550d601e83615f4b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615546601183615f54565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615573601283615f4b565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b60006155a1601083615f4b565b6f0a0c2f2dacadce840e8dede40d0d2ced60831b815260200192915050565b60006155cd602f83615f4b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061561e602183615f4b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615661601183615f4b565b70416c6c6f77616e636520746f6f206c6f7760781b815260200192915050565b600061568e601a83615f4b565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006156c7601383615f4b565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b60006156f6601983615f54565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061572f600c83615f4b565b6b496e76616c6964207261746560a01b815260200192915050565b6000615757601083615f4b565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b6000615783600d83615f4b565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b60006157ac601783615f4b565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b60006157e5601783615f4b565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b600061581e601583615f4b565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b600061584f601683615f4b565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b6000615881601783615f4b565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b610120820181516158be8482615360565b5060208201516158d160208501826152e4565b5060408201516158e46040850182615360565b5060608201516158f76060850182615360565b50608082015161590a6080850182615360565b5060a082015161591d60a0850182615357565b5060c082015161593060c0850182615360565b5060e082015161594360e0850182615360565b506101008201516109e5610100850182615360565b6101208201600082615968614b98565b905061597381615fdf565b61597d8582615360565b506001830161598a614b98565b905061599581615fb9565b6159a260208601826152e4565b50600283016159af614b98565b90506159ba81615fdf565b6159c76040860182615360565b50600383016159d4614b98565b90506159df81615fdf565b6159ec6060860182615360565b50600483016159f9614b98565b9050615a0481615fdf565b615a116080860182615360565b5060058301615a1e614b98565b9050615a2981615fcc565b615a3660a0860182615357565b5060068301615a43614b98565b9050615a4e81615fdf565b615a5b60c0860182615360565b5060078301615a68614b98565b9050615a7381615fdf565b615a8060e0860182615360565b5060088301615a8d614b98565b9050615a9881615fdf565b610552610100860182615360565b6000615ab28285615369565b602082019150615ac282846152ed565b5060140192915050565b6000615ad782615539565b9150615ae38284615369565b50602001919050565b6000615ad7826156e9565b6020810161134282846152e4565b60408101615b1382856152d5565b610d6560208301846152e4565b60608101615b2e82866152d5565b615b3b60208301856152e4565b610f7f6040830184615360565b60408101615b5682856152d5565b610d656020830184615360565b60408101615b1382856152e4565b60408101615b5682856152e4565b6020808252810161133f81846152fe565b602081016113428284615357565b602081016113428284615360565b60408101615b138285615360565b60408101615b568285615360565b60408101615bd68285615360565b8181036020830152610f7f8184615383565b60608101615bf68286615360565b615b3b6020830185615360565b60208101611342828461537a565b6020808252810161133f8184615383565b60208082528101611342816153bb565b60208082528101611342816153e5565b602080825281016113428161543c565b602080825281016113428161546d565b602080825281016113428161549d565b60208082528101611342816154d6565b6020808252810161134281615500565b6020808252810161134281615566565b6020808252810161134281615594565b60208082528101611342816155c0565b6020808252810161134281615611565b6020808252810161134281615654565b6020808252810161134281615681565b60208082528101611342816156ba565b6020808252810161134281615722565b602080825281016113428161574a565b6020808252810161134281615776565b602080825281016113428161579f565b60208082528101611342816157d8565b6020808252810161134281615811565b6020808252810161134281615842565b6020808252810161134281615874565b6101408101615d9182856158ad565b610d65610120830184615360565b6101608101615dae82866158ad565b615dbc610120830185615360565b610f7f610140830184615360565b6101408101615d918285615958565b6101608101615dae8286615958565b6101208101615df7828c615360565b615e04602083018b6152e4565b615e11604083018a615360565b615e1e6060830189615360565b615e2b6080830188615360565b615e3860a0830187615357565b615e4560c0830186615360565b615e5260e0830185615360565b615e60610100830184615360565b9a9950505050505050505050565b60808101615e7c8287615360565b615e8960208301866152d5565b615e966040830185615360565b615ea36060830184615360565b95945050505050565b60608101615eba8286615360565b615ec76020830185615360565b610f7f6040830184615357565b60808101615ee28287615360565b615e896020830186615360565b60a08101615efd8288615360565b615f0a6020830187615360565b615f176040830186615360565b615f246060830185615360565b615f316080830184615360565b9695505050505050565b60200190565b6000815192915050565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b600061134282615f59565b151590565b6000611342825b600061134282615f6b565b60005b83811015615fa8578082015183820152602001615f90565b838111156109e55750506000910152565b6000611342615fc783610b6a565b615f59565b6000611342615fda83610b6a565b615f65565b600061134261537583610b6a565b600061134282600061134282616008565b601f01601f191690565b60601b90565b61601781615f6b565b811461405b57600080611279614b2d565b61601781615f76565b61601781610b6a56", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "contract ICollateralManager", + "name": "_manager", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_collateralKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_minCratio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minCollateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountDeposited", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "CollateralDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountWithdrawn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "CollateralWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "LoanClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + } + ], + "name": "LoanClosedByLiquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountRepaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "LoanClosedByRepayment", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "issuanceFee", + "type": "uint256" + } + ], + "name": "LoanCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "LoanDrawnDown", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + } + ], + "name": "LoanPartiallyLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "repayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountRepaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountAfter", + "type": "uint256" + } + ], + "name": "LoanRepaymentMade", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "rewardsContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "addRewardsContracts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "_synthKeys", + "type": "bytes32[]" + } + ], + "name": "addSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "_synthKeys", + "type": "bytes32[]" + } + ], + "name": "areSynthsAndCurrenciesSet", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "canOpenLoans", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "close", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "closeWithCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "collateralKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "collateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "draw", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "getShortAndCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "liquidate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "liquidationAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "liqAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "loans", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "short", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "accruedInterest", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteraction", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "manager", + "outputs": [ + { + "internalType": "contract ICollateralManager", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "maxLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minCratio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "open", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "repay", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "repayWithCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "shortingRewards", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "synths", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synthsByKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x1de46cba39c2c4a780b020e54ee54a50fa8589932097172f7a5349a8924705ce", + "urls": [ + "bzz-raw://d1c8be386cdf95b552e04afb7bcaca9c140a9278184661f073835b46048ccf4b", + "dweb:/ipfs/QmNWdyzUpXKdK98e5so3vz4bvcEmVdP4SLSXDUfErF8fFQ" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralShort.sol": "CollateralShort" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralShort.sol": { + "keccak256": "0x1de46cba39c2c4a780b020e54ee54a50fa8589932097172f7a5349a8924705ce", + "urls": [ + "bzz-raw://d1c8be386cdf95b552e04afb7bcaca9c140a9278184661f073835b46048ccf4b", + "dweb:/ipfs/QmNWdyzUpXKdK98e5so3vz4bvcEmVdP4SLSXDUfErF8fFQ" + ] + } + }, + "version": 1 + } } } } diff --git a/publish/deployed/kovan-ovm/synths.json b/publish/deployed/kovan-ovm/synths.json index 12b8c474c9..73b56838e0 100644 --- a/publish/deployed/kovan-ovm/synths.json +++ b/publish/deployed/kovan-ovm/synths.json @@ -1,26 +1,32 @@ [ { "name": "sUSD", - "asset": "USD" + "asset": "USD", + "subclass": "MultiCollateralSynth" }, { "name": "sETH", - "asset": "ETH" + "asset": "ETH", + "subclass": "MultiCollateralSynth" }, { "name": "sBTC", - "asset": "BTC" + "asset": "BTC", + "subclass": "MultiCollateralSynth" }, { "name": "sLINK", - "asset": "LINK" + "asset": "LINK", + "subclass": "MultiCollateralSynth" }, { "name": "sUNI", - "asset": "UNI" + "asset": "UNI", + "subclass": "MultiCollateralSynth" }, { "name": "sAAVE", - "asset": "AAVE" + "asset": "AAVE", + "subclass": "MultiCollateralSynth" } ] diff --git a/publish/releases.json b/publish/releases.json index 55ebfa8a41..07118a53ab 100644 --- a/publish/releases.json +++ b/publish/releases.json @@ -298,6 +298,7 @@ "layer": "ovm", "sources": [ "CollateralManager", + "CollateralManagerState", "CollateralShort", "CollateralUtil", "SynthsBTC", @@ -590,15 +591,6 @@ }, "sips": [158, 169] }, - { - "name": "Sargas", - "released": false, - "version": { - "major": 2, - "minor": 50 - }, - "sips": [] - }, { "name": "Sargas (Optimism)", "ovm": true, @@ -607,7 +599,7 @@ "major": 2, "minor": 50 }, - "sips": [] + "sips": [135, 174] }, { "name": "Kaus", diff --git a/publish/src/Deployer.js b/publish/src/Deployer.js index b60ef883e1..3ed4a22d65 100644 --- a/publish/src/Deployer.js +++ b/publish/src/Deployer.js @@ -112,10 +112,8 @@ class Deployer { async sendDummyTx() { const tx = { - to: '0x0000000000000000000000000000000000000001', - data: '0x0000000000000000000000000000000000000000000000000000000000000000', + to: '0x4200000000000000000000000000000000000006', value: 0, - gasPrice: ethers.utils.parseUnits(this.gasPrice.toString(), 'gwei'), }; const response = await this.signer.sendTransaction(tx); diff --git a/publish/src/commands/prepare-deploy.js b/publish/src/commands/prepare-deploy.js index 617e4bfcc3..24b9f26352 100644 --- a/publish/src/commands/prepare-deploy.js +++ b/publish/src/commands/prepare-deploy.js @@ -14,7 +14,7 @@ const DEFAULTS = { const { stringify, loadAndCheckRequiredSources } = require('../util'); // Get unreleased releases -const getReleasesNotYetReleased = (useOvm = false) => +const getReleasesNotYetReleased = ({ useOvm = false }) => releases.releases.filter( release => !release.released && !!release.ovm === useOvm && release.sips.length > 0 ); @@ -78,7 +78,7 @@ const prepareDeploy = async ({ } } else if (useReleases) { // Get all the sources coming from the SIPs from the release on the required layer - const unreleased = getReleasesNotYetReleased(); + const unreleased = getReleasesNotYetReleased({ useOvm }); sources = unreleased .flatMap(({ sips }) => sips) .flatMap(sipNumber => {