From 5ab0570b5db5a1689b578e90e350a7b1a092c602 Mon Sep 17 00:00:00 2001 From: "Justin J. Moses" Date: Tue, 29 Jun 2021 16:38:41 -0600 Subject: [PATCH 1/3] Fix logic of solidity generator to work when not forked --- publish/src/commands/deploy/index.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/publish/src/commands/deploy/index.js b/publish/src/commands/deploy/index.js index fbc2a021b4..0c7d5cb9ee 100644 --- a/publish/src/commands/deploy/index.js +++ b/publish/src/commands/deploy/index.js @@ -260,7 +260,7 @@ const deploy = async ({ const runSteps = []; const runStep = async opts => { - const { pending, mined, ...rest } = await performTransactionalStepWeb3({ + const { noop, ...rest } = await performTransactionalStepWeb3({ gasLimit: methodCallGasLimit, // allow overriding of gasLimit ...opts, account, @@ -273,11 +273,8 @@ const deploy = async ({ ownerActionsFile, }); - // only add to solidity steps when specific conditions are met - if ( - (!opts.skipSolidity && (network === 'local' || useFork) && mined) || - (!useFork && pending) - ) { + // only add to solidity steps when the transaction is NOT a no-op + if (!noop) { runSteps.push(opts); } From c84fb44152aa05dc13663b42d747eae51eecbbe7 Mon Sep 17 00:00:00 2001 From: "Justin J. Moses" Date: Tue, 29 Jun 2021 16:49:52 -0600 Subject: [PATCH 2/3] Cleanup generate-solidity logic --- .../deploy/generate-solidity-output.js | 5 ---- publish/src/commands/deploy/index.js | 27 ++++++++++--------- publish/src/util.js | 2 +- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/publish/src/commands/deploy/generate-solidity-output.js b/publish/src/commands/deploy/generate-solidity-output.js index be19f290c6..cbd006d71e 100644 --- a/publish/src/commands/deploy/generate-solidity-output.js +++ b/publish/src/commands/deploy/generate-solidity-output.js @@ -24,7 +24,6 @@ module.exports = async ({ deployer, deployment, explorerLinkPrefix, - generateSolidity, network, newContractsBeingAdded, useOvm, @@ -32,10 +31,6 @@ module.exports = async ({ sourceOf, addressOf, }) => { - if (!generateSolidity) { - return; - } - const contractsAddedToSoliditySet = new Set(); const instructions = []; diff --git a/publish/src/commands/deploy/index.js b/publish/src/commands/deploy/index.js index 0c7d5cb9ee..3443faebad 100644 --- a/publish/src/commands/deploy/index.js +++ b/publish/src/commands/deploy/index.js @@ -278,7 +278,7 @@ const deploy = async ({ runSteps.push(opts); } - return { ...rest }; + return { noop, ...rest }; }; await deployCore({ @@ -420,18 +420,19 @@ const deploy = async ({ reportDeployedContracts({ deployer }); - generateSolidityOutput({ - addressOf, - deployer, - deployment, - explorerLinkPrefix, - generateSolidity, - network, - newContractsBeingAdded, - runSteps, - sourceOf, - useOvm, - }); + if (generateSolidity) { + generateSolidityOutput({ + addressOf, + deployer, + deployment, + explorerLinkPrefix, + network, + newContractsBeingAdded, + runSteps, + sourceOf, + useOvm, + }); + } }; module.exports = { diff --git a/publish/src/util.js b/publish/src/util.js index 634d361e2c..9787821669 100644 --- a/publish/src/util.js +++ b/publish/src/util.js @@ -254,7 +254,7 @@ const performTransactionalStepWeb3 = async ({ `[GENERATE_SOLIDITY_SIMULATION] Successfully completed ${action} number ${++_dryRunCounter}.` ) ); - return { mined: true }; + return {}; } // otherwise check the owner From fc5b2e7ff2f50b895a1d5788efa328a9860fafbb Mon Sep 17 00:00:00 2001 From: "Justin J. Moses" Date: Tue, 29 Jun 2021 17:50:43 -0600 Subject: [PATCH 3/3] Alnitak release onto kovan --- publish/deployed/kovan/deployment.json | 376 +++++++++++-------------- 1 file changed, 160 insertions(+), 216 deletions(-) diff --git a/publish/deployed/kovan/deployment.json b/publish/deployed/kovan/deployment.json index 7c5b9e783c..a913c99537 100644 --- a/publish/deployed/kovan/deployment.json +++ b/publish/deployed/kovan/deployment.json @@ -146,11 +146,11 @@ }, "Synthetix": { "name": "Synthetix", - "address": "0x07aCC2B253218535c21a3E57BcB81eB13345a34A", + "address": "0xBb812B05DAb7cF985986d25d75340fD3a72c64Ee", "source": "Synthetix", - "link": "https://kovan.etherscan.io/address/0x07aCC2B253218535c21a3E57BcB81eB13345a34A", - "timestamp": "2021-02-04T00:11:48.000Z", - "txn": "https://kovan.etherscan.io/tx/0x84efe5d9e0852a2d5620a3da6b5b4472e5751ec009e98f25552ee0cdb3a63f99", + "link": "https://kovan.etherscan.io/address/0xBb812B05DAb7cF985986d25d75340fD3a72c64Ee", + "timestamp": "2021-06-29T22:15:16.000Z", + "txn": "https://kovan.etherscan.io/tx/0xfc8fff96f4a2112760d1bf6550e2ee65385b89df1111b566f982aec89390e693", "network": "kovan" }, "SynthetixEscrow": { @@ -947,11 +947,11 @@ }, "Exchanger": { "name": "Exchanger", - "address": "0xf1D0Ee19af243bcbC140A2259290B490E4df92A9", + "address": "0xB83422243B95efFc80C3103161140C28c739c345", "source": "ExchangerWithVirtualSynth", - "link": "https://kovan.etherscan.io/address/0xf1D0Ee19af243bcbC140A2259290B490E4df92A9", - "timestamp": "2021-04-21T23:31:24.000Z", - "txn": "https://kovan.etherscan.io/tx/0xa6b58e905f7e530e8d6fb49160663226103fb45b2aa34271bdb02bdda7433245", + "link": "https://kovan.etherscan.io/address/0xB83422243B95efFc80C3103161140C28c739c345", + "timestamp": "2021-06-29T22:15:24.000Z", + "txn": "https://kovan.etherscan.io/tx/0x81b04c2012d90f0772113dfb52abb9efd5fcd3080401c9a43d03d9d195ee7ba0", "network": "kovan" }, "ExchangeState": { @@ -1388,11 +1388,11 @@ }, "DebtCache": { "name": "DebtCache", - "address": "0x3AD8366B716DEeA3F46730dEBFF537B713c76404", + "address": "0xF0f1EC406363b2627E4d1439075046cAdFb2D495", "source": "DebtCache", - "link": "https://kovan.etherscan.io/address/0x3AD8366B716DEeA3F46730dEBFF537B713c76404", - "timestamp": "2021-05-13T04:49:08.850Z", - "txn": "", + "link": "https://kovan.etherscan.io/address/0xF0f1EC406363b2627E4d1439075046cAdFb2D495", + "timestamp": "2021-06-29T22:15:20.000Z", + "txn": "https://kovan.etherscan.io/tx/0x7f078bc9c501eeeb493750ee5b7269a0968a0d407eb3d492e20587e235f8b864", "network": "kovan" }, "CollateralManagerState": { @@ -4912,7 +4912,7 @@ } }, "Synthetix": { - "bytecode": "60806040523480156200001157600080fd5b5060405162004a4638038062004a46833981016040819052620000349162000315565b84848484848085856040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b81525086601289868160006001600160a01b0316816001600160a01b03161415620000d35760405162461bcd60e51b8152600401620000ca9062000463565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001209184906200042b565b60405180910390a1506000546001600160a01b0316620001545760405162461bcd60e51b8152600401620000ca9062000451565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001a19083906200041b565b60405180910390a150600580546001600160a01b0319166001600160a01b0388161790558451620001da90600690602088019062000243565b508351620001f090600790602087019062000243565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004e19c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028657805160ff1916838001178555620002b6565b82800160010185558215620002b6579182015b82811115620002b657825182559160200191906001019062000299565b50620002c4929150620002c8565b5090565b620002e591905b80821115620002c45760008155600101620002cf565b90565b8051620002f581620004b1565b92915050565b8051620002f581620004cb565b8051620002f581620004d6565b600080600080600060a086880312156200032e57600080fd5b60006200033c8888620002e8565b95505060206200034f88828901620002fb565b94505060406200036288828901620002e8565b9350506060620003758882890162000308565b92505060806200038888828901620002e8565b9150509295509295909350565b620003a081620004a4565b82525050565b620003a0816200047e565b6000620003c060118362000475565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003ef60198362000475565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002f5828462000395565b604081016200043b828562000395565b6200044a6020830184620003a6565b9392505050565b60208082528101620002f581620003b1565b60208082528101620002f581620003e0565b90815260200190565b6000620002f58262000498565b6000620002f5826200047e565b6001600160a01b031690565b6000620002f5826200048b565b620004bc816200047e565b8114620004c857600080fd5b50565b620004bc816200048b565b620004bc81620002e5565b61455580620004f16000396000f3fe608060405234801561001057600080fd5b50600436106103fc5760003560e01c8063835e119c11610215578063af086c7e11610125578063dbf63340116100b8578063e8e09b8b11610087578063e8e09b8b14610829578063e90dd9e21461083c578063ec55688914610844578063edef719a146105d9578063ee52a2f31461084c576103fc565b8063dbf63340146107e8578063dd62ed3e146107f0578063ddd03a3f14610803578063e6203ed114610816576103fc565b8063d37c4d8b116100f4578063d37c4d8b146107a7578063d60888e4146107ba578063d67bdd25146107cd578063d8a1f76f146107d5576103fc565b8063af086c7e14610766578063bc67f8321461076e578063c2bf388014610781578063c836fa0a14610794576103fc565b806397107d6d116101a85780639f769807116101775780639f76980714610707578063a311c7c21461071a578063a5fdc5de1461072d578063a9059cbb14610740578063ace88afd14610753576103fc565b806397107d6d146106d15780639741fb22146106e4578063987757dd146106ec5780639cbdaeb6146106ff576103fc565b80638da5cb5b116101e45780638da5cb5b146106a657806391e56b68146106ae5780639324cac7146106c157806395d89b41146106c9576103fc565b8063835e119c1461066557806383d625d414610678578063899ffef41461068b5780638a29001414610693576103fc565b80632c955fa711610310578063666ed4f1116102a35780636f01a986116102725780636f01a9861461061a57806370a082311461062d57806372cb051f14610640578063741853601461065557806379ba50971461065d576103fc565b8063666ed4f1146105d95780636ac0bf9c146105ec5780636b76222f146105ff5780636c00f31014610607576103fc565b8063320223db116102df578063320223db1461059657806332608039146105a95780634e99bda9146105bc57806353a47bb7146105c4576103fc565b80632c955fa7146105535780632e0f26251461056657806330ead7601461057b578063313ce5671461058e576103fc565b80631627540c116103935780631fce304d116103625780631fce304d1461050a57806323b872dd1461051d578063295da87d146105305780632a905318146105435780632af64bd31461054b576103fc565b80631627540c146104d457806316b2213f146104e757806318160ddd146104fa5780631882140014610502576103fc565b80630e30963c116103cf5780630e30963c146104745780631137aedf146104955780631249c58b146104b7578063131b0ae7146104bf576103fc565b806304f3bcec1461040157806305b3c1c91461041f57806306fdde031461043f578063095ea7b314610454575b600080fd5b61040961085f565b60405161041691906142c7565b60405180910390f35b61043261042d36600461330d565b610873565b604051610416919061417f565b6104476108fe565b60405161041691906142d5565b6104676104623660046133d0565b61098c565b6040516104169190614171565b6104876104823660046136b9565b610a18565b6040516104169291906143b6565b6104a86104a336600461330d565b610ad2565b604051610416939291906143df565b610467610b67565b6104d26104cd36600461330d565b610f91565b005b6104d26104e236600461330d565b610fbb565b6104326104f536600461330d565b611019565b61043261104e565b610447611054565b6104676105183660046135e7565b61108d565b61046761052b366004613383565b611122565b6104d261053e3660046135e7565b611161565b6104476111e2565b610467611201565b6104d261056136600461330d565b61131d565b61056e611367565b60405161041691906143fa565b610432610589366004613644565b61136c565b61056e611425565b6104d26105a436600461330d565b61142e565b6104096105b73660046135e7565b611478565b6104676114fd565b6105cc61157c565b6040516104169190613f3f565b6104d26105e73660046133d0565b61158b565b6104326105fa36600461330d565b611597565b6104d261169f565b6104d261061536600461351a565b61174a565b6104d2610628366004613400565b61180c565b61043261063b36600461330d565b6118c5565b6106486118f6565b6040516104169190614160565b6104d2611974565b6104d2611ac6565b6104096106733660046135e7565b611b62565b6104326106863660046135e7565b611b97565b610648611bcf565b6104d26106a13660046135e7565b611c90565b6105cc611cda565b6104326106bc366004613493565b611ce9565b610432611da2565b610447611dad565b6104d26106df36600461330d565b611e08565b6104d2611e5b565b6104a86106fa3660046135e7565b611ed9565b610409611f4f565b6104d26107153660046136f9565b611f5e565b61043261072836600461330d565b611f8a565b61043261073b36600461330d565b611fbf565b61046761074e3660046133d0565b611ff4565b6104d2610761366004613400565b612034565b6104d2612081565b6104d261077c36600461330d565b6120ca565b6104d261078f3660046133d0565b6120f4565b6104326107a2366004613432565b612176565b6104326107b53660046133d0565b612229565b6104326107c83660046135e7565b6122b0565b6105cc6122e8565b6104d26107e33660046135e7565b6122f7565b6104326122ff565b6104326107fe366004613349565b612379565b6104d2610811366004613623565b6123ac565b6104676108243660046133d0565b612428565b6104d26108373660046133d0565b61250c565b610409612558565b610409612567565b61043261085a366004613623565b612576565b60095461010090046001600160a01b031681565b600061087d612629565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b81526004016108a89190613f3f565b60206040518083038186803b1580156108c057600080fd5b505afa1580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108f89190810190613605565b92915050565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109845780601f1061095957610100808354040283529160200191610984565b820191906000526020600020905b81548152906001019060200180831161096757829003601f168201915b505050505081565b600061099661263d565b60048054600554604051633691826360e21b81526001600160a01b0392831693919092169163da46098c916109d1918591899189910161402f565b600060405180830381600087803b1580156109eb57600080fd5b505af11580156109ff573d6000803e3d6000fd5b50505050610a0e818585612693565b5060019392505050565b6000808584610a278282612713565b610a2f61263d565b610a37612774565b60048054604051633ce6548960e21b81526001600160a01b039384169363f399522493610a7293909116918d918d918d9185918e91016140e9565b6040805180830381600087803b158015610a8b57600080fd5b505af1158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ac39190810190613747565b93509350505094509492505050565b6000806000610adf612629565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b8152600401610b0a9190613f3f565b60606040518083038186803b158015610b2257600080fd5b505afa158015610b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b5a91908101906137a7565b9250925092509193909250565b6000610b7161278b565b6000610b7b6127df565b6001600160a01b03161415610bab5760405162461bcd60e51b8152600401610ba290614376565b60405180910390fd5b6000610bb5612800565b90506000610bc16127df565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfe57600080fd5b505afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c369190810190613605565b905060008111610c585760405162461bcd60e51b8152600401610ba290614396565b604051637e7961d760e01b81526001600160a01b03841690637e7961d790610c8490849060040161417f565b602060405180830381600087803b158015610c9e57600080fd5b505af1158015610cb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cd691908101906135c9565b506000836001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1257600080fd5b505afa158015610d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d4a9190810190613605565b90506000610d5e838363ffffffff61281c16565b6005546040516370a0823160e01b81529192506001600160a01b03169063b46310f6908690610dfb90859085906370a0823190610d9f908690600401613f3f565b60206040518083038186803b158015610db757600080fd5b505afa158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610def9190810190613605565b9063ffffffff61284416565b6040518363ffffffff1660e01b8152600401610e18929190614057565b600060405180830381600087803b158015610e3257600080fd5b505af1158015610e46573d6000803e3d6000fd5b50505050610e55308583612869565b604051630b32e9c760e31b81526001600160a01b038516906359974e3890610e8190849060040161417f565b602060405180830381600087803b158015610e9b57600080fd5b505af1158015610eaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ed391908101906135c9565b506005546040516370a0823160e01b81526001600160a01b039091169063b46310f6903390610f1490869085906370a0823190610d9f908690600401613f4d565b6040518363ffffffff1660e01b8152600401610f31929190613f5b565b600060405180830381600087803b158015610f4b57600080fd5b505af1158015610f5f573d6000803e3d6000fd5b50505050610f6e303384612869565b600854610f81908463ffffffff61284416565b6008555060019450505050505b90565b610f996128ac565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610fc36128ac565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061100e908390613f3f565b60405180910390a150565b6000611023612629565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b81526004016108a89190613f3f565b60085481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b600080611098612774565b600480546040516301670a7b60e21b81526001600160a01b039384169363059c29ec936110cb9390911691889101614057565b60206040518083038186803b1580156110e357600080fd5b505afa1580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061111b9190810190613605565b1192915050565b600061112c61263d565b6111346128d6565b61113e8483612916565b50600454611157906001600160a01b0316858585612af4565b90505b9392505050565b61116961278b565b61117161263d565b611179612629565b6004805460405163b06e8c6560e01b81526001600160a01b039384169363b06e8c65936111ac9390911691869101614057565b600060405180830381600087803b1580156111c657600080fd5b505af11580156111da573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b6000606061120d611bcf565b905060005b815181101561131457600082828151811061122957fe5b6020908102919091018101516000818152600a9092526040918290205460095492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a7219061127f90859060040161417f565b60206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112cf919081019061332b565b6001600160a01b03161415806112fa57506000818152600a60205260409020546001600160a01b0316155b1561130b5760009350505050610f8e565b50600101611212565b50600191505090565b61132561278b565b61132d61263d565b611335612629565b6004805460405163159fa0d560e11b81526001600160a01b0393841693632b3f41aa936111ac93879392169101613f76565b601281565b6000858461137a8282612713565b61138261263d565b61138a612774565b600480546040516321aea91760e21b81526001600160a01b03938416936386baa45c936113c793909116918d918d918d9185918e918e91016140a7565b602060405180830381600087803b1580156113e157600080fd5b505af11580156113f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114199190810190613605565b98975050505050505050565b60095460ff1681565b61143661278b565b61143e61263d565b611446612629565b6004805460405163fd864ccf60e01b81526001600160a01b039384169363fd864ccf936111ac93879392169101613f76565b6000611482612629565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004016114ad919061417f565b60206040518083038186803b1580156114c557600080fd5b505afa1580156114d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108f891908101906136db565b6000611507612629565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b15801561153f57600080fd5b505afa158015611553573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061157791908101906135c9565b905090565b6001546001600160a01b031681565b611593612bfb565b5050565b60006115a1612629565b6005546040516370a0823160e01b81526001600160a01b0392831692636bed04159286929116906370a08231906115dc908490600401613f3f565b60206040518083038186803b1580156115f457600080fd5b505afa158015611608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061162c9190810190613605565b6040518363ffffffff1660e01b8152600401611649929190614057565b604080518083038186803b15801561166057600080fd5b505afa158015611674573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116989190810190613717565b5092915050565b6116a76128ac565b6005546000906001600160a01b03166370a082316116c3612c13565b6040518263ffffffff1660e01b81526004016116df9190613f3f565b60206040518083038186803b1580156116f757600080fd5b505afa15801561170b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061172f9190810190613605565b905061159361173c612c13565b611744612c2d565b83612c49565b611752612dcb565b6002546040516001600160a01b039091169063907dff979061178090889088908890889088906020016141e4565b604051602081830303815290604052600260405161179d90613ee7565b60405180910390206117ae8b612e03565b6000806040518763ffffffff1660e01b81526004016117d296959493929190614246565b600060405180830381600087803b1580156117ec57600080fd5b505af1158015611800573d6000803e3d6000fd5b50505050505050505050565b611814612dcb565b6002546040516001600160a01b039091169063907dff979061183c90859085906020016141b6565b604051602081830303815290604052600260405161185990613efd565b604051809103902061186a88612e03565b6000806040518763ffffffff1660e01b815260040161188e96959493929190614246565b600060405180830381600087803b1580156118a857600080fd5b505af11580156118bc573d6000803e3d6000fd5b50505050505050565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a08231906108a8908590600401613f3f565b6060611900612629565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561193857600080fd5b505afa15801561194c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115779190810190613594565b606061197e611bcf565b905060005b815181101561159357600082828151811061199a57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016119dc9190613f29565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611a089291906141c4565b60206040518083038186803b158015611a2057600080fd5b505afa158015611a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a58919081019061332b565b6000838152600a60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611ab4908490849061418d565b60405180910390a15050600101611983565b6001546001600160a01b03163314611af05760405162461bcd60e51b8152600401610ba2906142f6565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611b33926001600160a01b0391821692911690613f76565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000611b6c612629565b6001600160a01b031663835e119c836040518263ffffffff1660e01b81526004016114ad919061417f565b6000611ba1612629565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b81526004016108a892919061419b565b606080611bda612e0f565b60408051600380825260808201909252919250606091906020820183803883390190505090506b526577617264457363726f7760a01b81600081518110611c1d57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600181518110611c4857fe5b6020026020010181815250506d537570706c795363686564756c6560901b81600281518110611c7357fe5b602002602001018181525050611c898282612f02565b9250505090565b611c9861278b565b611ca061263d565b611ca8612629565b600480546040516285c0d160e31b81526001600160a01b039384169363042e0688936111ac9390911691869101614057565b6000546001600160a01b031681565b60008584611cf78282612713565b611cff61263d565b611d07612774565b60048054604051636fffe53b60e11b81526001600160a01b039384169363dfffca7693611d43938f939216918e918e918e918e918e9101613fd3565b602060405180830381600087803b158015611d5d57600080fd5b505af1158015611d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d959190810190613605565b9998505050505050505050565b631cd554d160e21b81565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109845780601f1061095957610100808354040283529160200191610984565b611e106128ac565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9061100e908390613f4d565b611e6361278b565b611e6b61263d565b611e73612629565b600480546040516324beb82560e11b81526001600160a01b039384169363497d704a93611ea4939091169101613f3f565b600060405180830381600087803b158015611ebe57600080fd5b505af1158015611ed2573d6000803e3d6000fd5b505050505b565b6000806000611ee661263d565b611eee612774565b600480546040516306c5a00b60e21b81526001600160a01b0393841693631b16802c93611f219390911691899101614057565b606060405180830381600087803b158015611f3b57600080fd5b505af1158015610b36573d6000803e3d6000fd5b6003546001600160a01b031681565b611f66612fb7565b600580546001600160a01b0319166001600160a01b0383161790556111df8161303c565b6000611f94612629565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b81526004016108a89190613f3f565b6000611fc9612629565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b81526004016108a89190613f3f565b6000611ffe61263d565b6120066128d6565b60045461201c906001600160a01b031683612916565b50600454610a0e906001600160a01b031684846130ae565b61203c612dcb565b6002546040516001600160a01b039091169063907dff979061206490859085906020016141b6565b604051602081830303815290604052600260405161185990613ebc565b61208961278b565b61209161263d565b612099612629565b6004805460405163644bb89960e11b81526001600160a01b039384169363c897713293611ea4939091169101613f3f565b6120d26130bb565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6120fc61278b565b61210461263d565b61210c612629565b60048054604051632694552d60e21b81526001600160a01b0393841693639a5154b49361214093889392169187910161402f565b600060405180830381600087803b15801561215a57600080fd5b505af115801561216e573d6000803e3d6000fd5b505050505050565b600083826121848282612713565b61218c61263d565b612194612774565b60048054604051630d4388eb60e31b81526001600160a01b0393841693636a1c4758936121cc938d939216918c918c918c9101613f91565b602060405180830381600087803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061221e9190810190613605565b979650505050505050565b6000612233612629565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612260929190614057565b60206040518083038186803b15801561227857600080fd5b505afa15801561228c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061115a9190810190613605565b60006122ba612629565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b81526004016108a892919061419b565b6004546001600160a01b031681565b6111df612bfb565b6000612309612629565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561234157600080fd5b505afa158015612355573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115779190810190613605565b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e906122609086908690600401613f76565b6123b4612dcb565b6002546040516001600160a01b039091169063907dff97906123dc90859085906020016141b6565b60405160208183030381529060405260026040516123f990613f08565b6040519081900381206001600160e01b031960e086901b16825261188e93929189906000908190600401614246565b60006124326128d6565b61243a61263d565b600080612445612629565b6004805460405163298f137d60e21b81526001600160a01b039384169363a63c4df49361247a938b938b939091169101614138565b6040805180830381600087803b15801561249357600080fd5b505af11580156124a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124cb9190810190613777565b60045491935091506124eb908690849084906001600160a01b03166130fa565b6004546125039086906001600160a01b0316846130ae565b95945050505050565b61251461278b565b61251c61263d565b612524612629565b6004805460405163227635b160e11b81526001600160a01b03938416936344ec6b629361214093889392169187910161402f565b6005546001600160a01b031681565b6002546001600160a01b031681565b600083826125848282612713565b61258c61263d565b612594612774565b60048054604051630a1e187d60e01b81526001600160a01b0393841693630a1e187d936125cd93909116918b918b918b91859101614065565b602060405180830381600087803b1580156125e757600080fd5b505af11580156125fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061261f9190810190613605565b9695505050505050565b60006115776524b9b9bab2b960d11b6131ae565b6002546001600160a01b0316331480159061266357506003546001600160a01b03163314155b801561267a57506004546001600160a01b03163314155b15611ed757600480546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff97906126b990849060200161417f565b60405160208183030381529060405260036040516126d690613ef2565b60405180910390206126e788612e03565b6126f088612e03565b60006040518763ffffffff1660e01b815260040161188e96959493929190614280565b61271b61320b565b6001600160a01b0316631ce00ba283836040518363ffffffff1660e01b81526004016127489291906141b6565b60006040518083038186803b15801561276057600080fd5b505afa15801561216e573d6000803e3d6000fd5b60006115776822bc31b430b733b2b960b91b6131ae565b61279361320b565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156127cb57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b6000611577722932bbb0b93239a234b9ba3934b13aba34b7b760691b6131ae565b60006115776d537570706c795363686564756c6560901b6131ae565b60008282111561283e5760405162461bcd60e51b8152600401610ba290614336565b50900390565b60008282018381101561115a5760405162461bcd60e51b8152600401610ba290614326565b6002546040516001600160a01b039091169063907dff979061288f90849060200161417f565b60405160208183030381529060405260036040516126d690613f34565b6000546001600160a01b03163314611ed75760405162461bcd60e51b8152600401610ba290614386565b6128de61320b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156127cb57600080fd5b600080612921613225565b6001600160a01b0316638b3f8088856040518263ffffffff1660e01b815260040161294c9190613f3f565b604080518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061299b9190810190613777565b5090508015610a0e576000806129af612629565b6005546040516370a0823160e01b81526001600160a01b0392831692636bed0415928a929116906370a08231906129ea908490600401613f3f565b60206040518083038186803b158015612a0257600080fd5b505afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a3a9190810190613605565b6040518363ffffffff1660e01b8152600401612a57929190614057565b604080518083038186803b158015612a6e57600080fd5b505afa158015612a82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612aa69190810190613717565b9150915081851115612aca5760405162461bcd60e51b8152600401610ba290614356565b8015612ae85760405162461bcd60e51b8152600401610ba290614366565b50600195945050505050565b600554604051636eb1769f60e11b81526000916001600160a01b03169063da46098c9086908890612b95908790869063dd62ed3e90612b399087908790600401613f76565b60206040518083038186803b158015612b5157600080fd5b505afa158015612b65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b899190810190613605565b9063ffffffff61281c16565b6040518463ffffffff1660e01b8152600401612bb39392919061402f565b600060405180830381600087803b158015612bcd57600080fd5b505af1158015612be1573d6000803e3d6000fd5b50505050612bf0848484612c49565b90505b949350505050565b60405162461bcd60e51b8152600401610ba290614346565b60006115776b526577617264457363726f7760a01b6131ae565b60006115776d2932bbb0b93222b9b1b937bbab1960911b6131ae565b60006001600160a01b03831615801590612c6c57506001600160a01b0383163014155b8015612c8657506002546001600160a01b03848116911614155b612ca25760405162461bcd60e51b8152600401610ba2906142e6565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f6908690612ce290869085906370a0823190612b39908690600401613f3f565b6040518363ffffffff1660e01b8152600401612cff929190614057565b600060405180830381600087803b158015612d1957600080fd5b505af1158015612d2d573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f691508590612d7190869085906370a0823190610d9f908690600401613f3f565b6040518363ffffffff1660e01b8152600401612d8e929190614057565b600060405180830381600087803b158015612da857600080fd5b505af1158015612dbc573d6000803e3d6000fd5b50505050610a0e848484612869565b612dd3612774565b6001600160a01b0316336001600160a01b031614611ed75760405162461bcd60e51b8152600401610ba290614316565b6001600160a01b031690565b60408051600580825260c082019092526060916020820160a0803883390190505090506d53796e746865746978537461746560901b81600081518110612e5157fe5b6020026020010181815250506b53797374656d53746174757360a01b81600181518110612e7a57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600281518110612ea057fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110612ec357fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600481518110612ef357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612f32578160200160208202803883390190505b50905060005b8351811015612f7457838181518110612f4d57fe5b6020026020010151828281518110612f6157fe5b6020908102919091010152600101612f38565b5060005b825181101561169857828181518110612f8d57fe5b6020026020010151828286510181518110612fa457fe5b6020908102919091010152600101612f78565b6002546001600160a01b03163314801590612fdd57506003546001600160a01b03163314155b8015612ff457506004546001600160a01b03163314155b1561300c57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611ed75760405162461bcd60e51b8152600401610ba290614306565b6002546040516001600160a01b039091169063907dff9790613062908490602001613f3f565b604051602081830303815290604052600160405161307f90613f13565b6040519081900381206001600160e01b031960e086901b1682526111ac939291600090819081906004016141f2565b6000611157848484612c49565b6002546001600160a01b03163314806130de57506003546001600160a01b031633145b611ed75760405162461bcd60e51b8152600401610ba2906143a6565b6002546040516001600160a01b039091169063907dff9790613124908690869086906020016143d1565b604051602081830303815290604052600260405161314190613f1e565b604051809103902061315289612e03565b6000806040518763ffffffff1660e01b815260040161317696959493929190614246565b600060405180830381600087803b15801561319057600080fd5b505af11580156131a4573d6000803e3d6000fd5b5050505050505050565b6000818152600a602090815260408083205490516001600160a01b0390911691821515916131de91869101613ec7565b604051602081830303815290604052906116985760405162461bcd60e51b8152600401610ba291906142d5565b60006115776b53797374656d53746174757360a01b6131ae565b60006115776d53796e746865746978537461746560901b6131ae565b80356108f8816144e3565b80516108f8816144e3565b600082601f83011261326857600080fd5b815161327b6132768261442f565b614408565b915081818352602084019350602081019050838560208402820111156132a057600080fd5b60005b838110156132cc57816132b688826132ec565b84525060209283019291909101906001016132a3565b5050505092915050565b80516108f8816144f7565b80356108f881614500565b80516108f881614500565b80516108f881614509565b80356108f881614509565b60006020828403121561331f57600080fd5b6000612bf38484613241565b60006020828403121561333d57600080fd5b6000612bf3848461324c565b6000806040838503121561335c57600080fd5b60006133688585613241565b925050602061337985828601613241565b9150509250929050565b60008060006060848603121561339857600080fd5b60006133a48686613241565b93505060206133b586828701613241565b92505060406133c6868287016132e1565b9150509250925092565b600080604083850312156133e357600080fd5b60006133ef8585613241565b9250506020613379858286016132e1565b60008060006060848603121561341557600080fd5b60006134218686613241565b93505060206133b5868287016132e1565b6000806000806080858703121561344857600080fd5b60006134548787613241565b9450506020613465878288016132e1565b9350506040613476878288016132e1565b9250506060613487878288016132e1565b91505092959194509250565b60008060008060008060c087890312156134ac57600080fd5b60006134b88989613241565b96505060206134c989828a016132e1565b95505060406134da89828a016132e1565b94505060606134eb89828a016132e1565b93505060806134fc89828a01613241565b92505060a061350d89828a016132e1565b9150509295509295509295565b60008060008060008060c0878903121561353357600080fd5b600061353f8989613241565b965050602061355089828a016132e1565b955050604061356189828a016132e1565b945050606061357289828a016132e1565b935050608061358389828a016132e1565b92505060a061350d89828a01613241565b6000602082840312156135a657600080fd5b815167ffffffffffffffff8111156135bd57600080fd5b612bf384828501613257565b6000602082840312156135db57600080fd5b6000612bf384846132d6565b6000602082840312156135f957600080fd5b6000612bf384846132e1565b60006020828403121561361757600080fd5b6000612bf384846132ec565b60008060006060848603121561363857600080fd5b600061342186866132e1565b600080600080600060a0868803121561365c57600080fd5b600061366888886132e1565b9550506020613679888289016132e1565b945050604061368a888289016132e1565b935050606061369b88828901613241565b92505060806136ac888289016132e1565b9150509295509295909350565b600080600080608085870312156136cf57600080fd5b600061345487876132e1565b6000602082840312156136ed57600080fd5b6000612bf384846132f7565b60006020828403121561370b57600080fd5b6000612bf38484613302565b6000806040838503121561372a57600080fd5b600061373685856132ec565b9250506020613379858286016132d6565b6000806040838503121561375a57600080fd5b600061376685856132ec565b9250506020613379858286016132f7565b6000806040838503121561378a57600080fd5b600061379685856132ec565b9250506020613379858286016132ec565b6000806000606084860312156137bc57600080fd5b60006137c886866132ec565b93505060206137d9868287016132ec565b92505060406133c6868287016132ec565b60006137f68383613878565b505060200190565b61380781614489565b82525050565b61380781614468565b600061382182614456565b61382b818561445a565b935061383683614450565b8060005b8381101561386457815161384e88826137ea565b975061385983614450565b92505060010161383a565b509495945050505050565b61380781614473565b61380781610f8e565b61380761388d82610f8e565b610f8e565b600061389d82614456565b6138a7818561445a565b93506138b78185602086016144ad565b6138c0816144d9565b9093019392505050565b61380781614478565b61380781614494565b613807816144a2565b60006138f2601f8361445a565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b600061392b60358361445a565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061398260138361445a565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b60006139b1601e8361445a565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b60006139ea601b8361445a565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613a23602883614463565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b6000613a6d601e8361445a565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613aa6601b8361445a565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000613adf601183614463565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613b0c603e83614463565b7f53796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000613b6b60268361445a565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152650cac840a69cb60d31b602082015260400192915050565b6000613bb3601e8361445a565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b6000613bec601b8361445a565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b6000613c25602f8361445a565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613c76602183614463565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000613cb9602783614463565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000613d02602983614463565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152682c75696e743235362960b81b602082015260290192915050565b6000613d4d601a83614463565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000613d86603283614463565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6000613dda601983614463565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613e1360158361445a565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b6000613e44602183614463565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000613e8760178361445a565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b61380781614483565b60006108f882613a16565b6000613ed282613ad2565b9150613ede8284613881565b50602001919050565b60006108f882613aff565b60006108f882613c69565b60006108f882613cac565b60006108f882613cf5565b60006108f882613d40565b60006108f882613d79565b6000613ed282613dcd565b60006108f882613e37565b602081016108f8828461380d565b602081016108f882846137fe565b60408101613f6982856137fe565b61115a6020830184613878565b60408101613f84828561380d565b61115a602083018461380d565b60a08101613f9f828861380d565b613fac602083018761380d565b613fb96040830186613878565b613fc66060830185613878565b61261f6080830184613878565b60e08101613fe1828a61380d565b613fee602083018961380d565b613ffb6040830188613878565b6140086060830187613878565b6140156080830186613878565b61402260a083018561380d565b61141960c0830184613878565b6060810161403d828661380d565b61404a602083018561380d565b612bf36040830184613878565b60408101613f69828561380d565b60a08101614073828861380d565b6140806020830187613878565b61408d6040830186613878565b61409a6060830185613878565b61261f608083018461380d565b60e081016140b5828a61380d565b6140c26020830189613878565b6140cf6040830188613878565b6140dc6060830187613878565b614015608083018661380d565b60c081016140f7828961380d565b6141046020830188613878565b6141116040830187613878565b61411e6060830186613878565b61412b608083018561380d565b61221e60a0830184613878565b60608101614146828661380d565b6141536020830185613878565b612bf3604083018461380d565b6020808252810161115a8184613816565b602081016108f8828461386f565b602081016108f88284613878565b60408101613f848285613878565b604081016141a98285613878565b61115a602083018461386f565b60408101613f698285613878565b604081016141d28285613878565b81810360208301526111578184613892565b60a081016140738288613878565b60c080825281016142038189613892565b905061421260208301886138dc565b61421f6040830187613878565b61422c60608301866138d3565b61423960808301856138d3565b61221e60a08301846138d3565b60c080825281016142578189613892565b905061426660208301886138dc565b6142736040830187613878565b61422c6060830186613878565b60c080825281016142918189613892565b90506142a060208301886138dc565b6142ad6040830187613878565b6142ba6060830186613878565b6142396080830185613878565b602081016108f882846138ca565b6020808252810161115a8184613892565b602080825281016108f8816138e5565b602080825281016108f88161391e565b602080825281016108f881613975565b602080825281016108f8816139a4565b602080825281016108f8816139dd565b602080825281016108f881613a60565b602080825281016108f881613a99565b602080825281016108f881613b5e565b602080825281016108f881613ba6565b602080825281016108f881613bdf565b602080825281016108f881613c18565b602080825281016108f881613e06565b602080825281016108f881613e7a565b604081016143c48285613878565b61115a60208301846138ca565b606081016141468286613878565b606081016143ed8286613878565b61404a6020830185613878565b602081016108f88284613eb3565b60405181810167ffffffffffffffff8111828210171561442757600080fd5b604052919050565b600067ffffffffffffffff82111561444657600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b60006108f882612e03565b151590565b60006108f882614468565b60ff1690565b60006108f882614478565b60006108f861388d83610f8e565b60006108f882610f8e565b60005b838110156144c85781810151838201526020016144b0565b83811115611ed25750506000910152565b601f01601f191690565b6144ec81614468565b81146111df57600080fd5b6144ec81614473565b6144ec81610f8e565b6144ec8161447856fea365627a7a723158204cb502697553759464d0c2ad637d6ac4b23388eb5ea3062f1341f043cd0bf8516c6578706572696d656e74616cf564736f6c63430005100040", + "bytecode": "60806040523480156200001157600080fd5b5060405162004b7d38038062004b7d833981016040819052620000349162000315565b84848484848085856040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b81525086601289868160006001600160a01b0316816001600160a01b03161415620000d35760405162461bcd60e51b8152600401620000ca9062000463565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001209184906200042b565b60405180910390a1506000546001600160a01b0316620001545760405162461bcd60e51b8152600401620000ca9062000451565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001a19083906200041b565b60405180910390a150600580546001600160a01b0319166001600160a01b0388161790558451620001da90600690602088019062000243565b508351620001f090600790602087019062000243565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004e19c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028657805160ff1916838001178555620002b6565b82800160010185558215620002b6579182015b82811115620002b657825182559160200191906001019062000299565b50620002c4929150620002c8565b5090565b620002e591905b80821115620002c45760008155600101620002cf565b90565b8051620002f581620004b1565b92915050565b8051620002f581620004cb565b8051620002f581620004d6565b600080600080600060a086880312156200032e57600080fd5b60006200033c8888620002e8565b95505060206200034f88828901620002fb565b94505060406200036288828901620002e8565b9350506060620003758882890162000308565b92505060806200038888828901620002e8565b9150509295509295909350565b620003a081620004a4565b82525050565b620003a0816200047e565b6000620003c060118362000475565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003ef60198362000475565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002f5828462000395565b604081016200043b828562000395565b6200044a6020830184620003a6565b9392505050565b60208082528101620002f581620003b1565b60208082528101620002f581620003e0565b90815260200190565b6000620002f58262000498565b6000620002f5826200047e565b6001600160a01b031690565b6000620002f5826200048b565b620004bc816200047e565b8114620004c857600080fd5b50565b620004bc816200048b565b620004bc81620002e5565b61468c80620004f16000396000f3fe608060405234801561001057600080fd5b50600436106104125760003560e01c80637418536011610220578063a9059cbb11610130578063d8a1f76f116100b8578063e8e09b8b11610087578063e8e09b8b1461085a578063e90dd9e21461086d578063ec55688914610875578063edef719a1461061d578063ee52a2f31461087d57610412565b8063d8a1f76f14610819578063dbf633401461082c578063dd62ed3e14610834578063e6203ed11461084757610412565b8063c2bf3880116100ff578063c2bf3880146107c5578063c836fa0a146107d8578063d37c4d8b146107eb578063d60888e4146107fe578063d67bdd251461081157610412565b8063a9059cbb14610784578063ace88afd14610797578063af086c7e146107aa578063bc67f832146107b257610412565b80639324cac7116101b3578063987757dd11610182578063987757dd146107305780639cbdaeb6146107435780639f7698071461074b578063a311c7c21461075e578063a5fdc5de1461077157610412565b80639324cac71461070557806395d89b411461070d57806397107d6d146107155780639741fb221461072857610412565b8063899ffef4116101ef578063899ffef4146106cf5780638a290014146106d75780638da5cb5b146106ea57806391e56b68146106f257610412565b8063741853601461069957806379ba5097146106a1578063835e119c146106a957806383d625d4146106bc57610412565b80632c955fa7116103265780635af090ef116102ae5780636b76222f1161027d5780636b76222f146106435780636c00f3101461064b5780636f01a9861461065e57806370a082311461067157806372cb051f1461068457610412565b80635af090ef14610602578063614d08f814610615578063666ed4f11461061d5780636ac0bf9c1461063057610412565b8063313ce567116102f5578063313ce567146105b7578063320223db146105bf57806332608039146105d25780634e99bda9146105e557806353a47bb7146105ed57610412565b80632c955fa7146105695780632d3169eb1461057c5780632e0f26251461058f57806330ead760146105a457610412565b80631627540c116103a95780631fce304d116103785780631fce304d1461052057806323b872dd14610533578063295da87d146105465780632a905318146105595780632af64bd31461056157610412565b80631627540c146104ea57806316b2213f146104fd57806318160ddd14610510578063188214001461051857610412565b80630e30963c116103e55780630e30963c1461048a5780631137aedf146104ab5780631249c58b146104cd578063131b0ae7146104d557610412565b806304f3bcec1461041757806305b3c1c91461043557806306fdde0314610455578063095ea7b31461046a575b600080fd5b61041f610890565b60405161042c9190614419565b60405180910390f35b61044861044336600461348e565b6108a4565b60405161042c919061426d565b61045d61092f565b60405161042c9190614427565b61047d610478366004613551565b6109bd565b60405161042c919061425f565b61049d6104983660046137a4565b610a49565b60405161042c929190614508565b6104be6104b936600461348e565b610b58565b60405161042c9392919061431e565b61047d610bed565b6104e86104e336600461348e565b611017565b005b6104e86104f836600461348e565b611041565b61044861050b36600461348e565b61109f565b6104486110d4565b61045d6110da565b61047d61052e366004613768565b611113565b61047d610541366004613504565b6111a8565b6104e8610554366004613768565b6111e7565b61045d611268565b61047d611287565b6104e861057736600461348e565b6113a3565b6104e861058a3660046137a4565b6113ed565b6105976114a3565b60405161042c9190614531565b6104486105b23660046137e7565b6114a8565b61059761159f565b6104e86105cd36600461348e565b6115a8565b61041f6105e0366004613768565b6115f2565b61047d611677565b6105f56116f6565b60405161042c91906140c8565b6104486106103660046137e7565b611705565b610448611789565b6104e861062b366004613551565b611799565b61044861063e36600461348e565b6117a5565b6104e86118ad565b6104e861065936600461369b565b611958565b6104e861066c366004613581565b611a1a565b61044861067f36600461348e565b611ad3565b61068c611b04565b60405161042c919061424e565b6104e8611b82565b6104e8611cd4565b61041f6106b7366004613768565b611d70565b6104486106ca366004613768565b611da5565b61068c611ddd565b6104e86106e5366004613768565b611e9e565b6105f5611ee8565b610448610700366004613614565b611ef7565b610448611fc5565b61045d611fd0565b6104e861072336600461348e565b61202b565b6104e861207e565b6104be61073e366004613768565b6120fc565b61041f612172565b6104e861075936600461387a565b612181565b61044861076c36600461348e565b6121ad565b61044861077f36600461348e565b6121e2565b61047d610792366004613551565b612217565b6104e86107a5366004613581565b612257565b6104e86122a4565b6104e86107c036600461348e565b6122ed565b6104e86107d3366004613551565b612317565b6104486107e63660046135b3565b612399565b6104486107f9366004613551565b612455565b61044861080c366004613768565b6124dc565b6105f5612514565b6104e8610827366004613768565b612523565b61044861252b565b6104486108423660046134ca565b6125a5565b61047d610855366004613551565b6125d8565b6104e8610868366004613551565b6126bc565b61041f612708565b61041f612717565b61044861088b3660046137c6565b612726565b60095461010090046001600160a01b031681565b60006108ae6127e2565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b81526004016108d991906140c8565b60206040518083038186803b1580156108f157600080fd5b505afa158015610905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109299190810190613786565b92915050565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109b55780601f1061098a576101008083540402835291602001916109b5565b820191906000526020600020905b81548152906001019060200180831161099857829003601f168201915b505050505081565b60006109c76127f6565b60048054600554604051633691826360e21b81526001600160a01b0392831693919092169163da46098c91610a0291859189918991016141f0565b600060405180830381600087803b158015610a1c57600080fd5b505af1158015610a30573d6000803e3d6000fd5b50505050610a3f81858561284c565b5060019392505050565b6000808584610a5882826128cc565b610a606127f6565b610a6861292d565b6001600160a01b0316634f8633d2600460009054906101000a90046001600160a01b0316600460009054906101000a90046001600160a01b03168b8b8b600460009054906101000a90046001600160a01b03166001600460009054906101000a90046001600160a01b03168e6040518a63ffffffff1660e01b8152600401610af8999897969594939291906141a0565b6040805180830381600087803b158015610b1157600080fd5b505af1158015610b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b4991908101906138c8565b93509350505094509492505050565b6000806000610b656127e2565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b8152600401610b9091906140c8565b60606040518083038186803b158015610ba857600080fd5b505afa158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610be09190810190613928565b9250925092509193909250565b6000610bf7612944565b6000610c01612998565b6001600160a01b03161415610c315760405162461bcd60e51b8152600401610c28906144c8565b60405180910390fd5b6000610c3b6129b9565b90506000610c47612998565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8457600080fd5b505afa158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cbc9190810190613786565b905060008111610cde5760405162461bcd60e51b8152600401610c28906144e8565b604051637e7961d760e01b81526001600160a01b03841690637e7961d790610d0a90849060040161426d565b602060405180830381600087803b158015610d2457600080fd5b505af1158015610d38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d5c919081019061374a565b506000836001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9857600080fd5b505afa158015610dac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd09190810190613786565b90506000610de4838363ffffffff6129d516565b6005546040516370a0823160e01b81529192506001600160a01b03169063b46310f6908690610e8190859085906370a0823190610e259086906004016140c8565b60206040518083038186803b158015610e3d57600080fd5b505afa158015610e51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e759190810190613786565b9063ffffffff6129fd16565b6040518363ffffffff1660e01b8152600401610e9e929190614218565b600060405180830381600087803b158015610eb857600080fd5b505af1158015610ecc573d6000803e3d6000fd5b50505050610edb308583612a22565b604051630b32e9c760e31b81526001600160a01b038516906359974e3890610f0790849060040161426d565b602060405180830381600087803b158015610f2157600080fd5b505af1158015610f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f59919081019061374a565b506005546040516370a0823160e01b81526001600160a01b039091169063b46310f6903390610f9a90869085906370a0823190610e259086906004016140d6565b6040518363ffffffff1660e01b8152600401610fb79291906140e4565b600060405180830381600087803b158015610fd157600080fd5b505af1158015610fe5573d6000803e3d6000fd5b50505050610ff4303384612a22565b600854611007908463ffffffff6129fd16565b6008555060019450505050505b90565b61101f612a65565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b611049612a65565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906110949083906140c8565b60405180910390a150565b60006110a96127e2565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b81526004016108d991906140c8565b60085481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b60008061111e61292d565b600480546040516301670a7b60e21b81526001600160a01b039384169363059c29ec936111519390911691889101614218565b60206040518083038186803b15801561116957600080fd5b505afa15801561117d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111a19190810190613786565b1192915050565b60006111b26127f6565b6111ba612a8f565b6111c48483612acf565b506004546111dd906001600160a01b0316858585612cad565b90505b9392505050565b6111ef612944565b6111f76127f6565b6111ff6127e2565b6004805460405163b06e8c6560e01b81526001600160a01b039384169363b06e8c65936112329390911691869101614218565b600060405180830381600087803b15801561124c57600080fd5b505af1158015611260573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b60006060611293611ddd565b905060005b815181101561139a5760008282815181106112af57fe5b6020908102919091018101516000818152600a9092526040918290205460095492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a7219061130590859060040161426d565b60206040518083038186803b15801561131d57600080fd5b505afa158015611331573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061135591908101906134ac565b6001600160a01b031614158061138057506000818152600a60205260409020546001600160a01b0316155b156113915760009350505050611014565b50600101611298565b50600191505090565b6113ab612944565b6113b36127f6565b6113bb6127e2565b6004805460405163159fa0d560e11b81526001600160a01b0393841693632b3f41aa93611232938793921691016140ff565b6113f5612db4565b6002546040516001600160a01b039091169063907dff979061141f9086908690869060200161431e565b604051602081830303815290604052600260405161143c90614050565b6040519081900381206001600160e01b031960e086901b16825261146b9392918a906000908190600401614398565b600060405180830381600087803b15801561148557600080fd5b505af1158015611499573d6000803e3d6000fd5b5050505050505050565b601281565b600085846114b682826128cc565b6114be6127f6565b6114c661292d565b6001600160a01b0316634f8633d2600460009054906101000a90046001600160a01b0316600460009054906101000a90046001600160a01b03168b8b8b600460009054906101000a90046001600160a01b031660008d8d6040518a63ffffffff1660e01b8152600401611541999897969594939291906141a0565b6040805180830381600087803b15801561155a57600080fd5b505af115801561156e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061159291908101906138c8565b5098975050505050505050565b60095460ff1681565b6115b0612944565b6115b86127f6565b6115c06127e2565b6004805460405163fd864ccf60e01b81526001600160a01b039384169363fd864ccf93611232938793921691016140ff565b60006115fc6127e2565b6001600160a01b03166332608039836040518263ffffffff1660e01b8152600401611627919061426d565b60206040518083038186803b15801561163f57600080fd5b505afa158015611653573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610929919081019061385c565b60006116816127e2565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b1580156116b957600080fd5b505afa1580156116cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f1919081019061374a565b905090565b6001546001600160a01b031681565b6000858461171382826128cc565b61171b6127f6565b61172361292d565b6001600160a01b0316634f8633d2600460009054906101000a90046001600160a01b0316600460009054906101000a90046001600160a01b03168b8b8b3260008d8d6040518a63ffffffff1660e01b81526004016115419998979695949392919061411a565b680a6f2dce8d0cae8d2f60bb1b81565b6117a1612dec565b5050565b60006117af6127e2565b6005546040516370a0823160e01b81526001600160a01b0392831692636bed04159286929116906370a08231906117ea9084906004016140c8565b60206040518083038186803b15801561180257600080fd5b505afa158015611816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061183a9190810190613786565b6040518363ffffffff1660e01b8152600401611857929190614218565b604080518083038186803b15801561186e57600080fd5b505afa158015611882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118a69190810190613898565b5092915050565b6118b5612a65565b6005546000906001600160a01b03166370a082316118d1612e04565b6040518263ffffffff1660e01b81526004016118ed91906140c8565b60206040518083038186803b15801561190557600080fd5b505afa158015611919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061193d9190810190613786565b90506117a161194a612e04565b611952612e1e565b83612e3a565b611960612db4565b6002546040516001600160a01b039091169063907dff979061198e90889088908890889088906020016142d2565b60405160208183030381529060405260026040516119ab9061407b565b60405180910390206119bc8b612fbc565b6000806040518763ffffffff1660e01b81526004016119e096959493929190614398565b600060405180830381600087803b1580156119fa57600080fd5b505af1158015611a0e573d6000803e3d6000fd5b50505050505050505050565b611a22612db4565b6002546040516001600160a01b039091169063907dff9790611a4a90859085906020016142a4565b6040516020818303038152906040526002604051611a6790614091565b6040518091039020611a7888612fbc565b6000806040518763ffffffff1660e01b8152600401611a9c96959493929190614398565b600060405180830381600087803b158015611ab657600080fd5b505af1158015611aca573d6000803e3d6000fd5b50505050505050565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a08231906108d99085906004016140c8565b6060611b0e6127e2565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4657600080fd5b505afa158015611b5a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116f19190810190613715565b6060611b8c611ddd565b905060005b81518110156117a1576000828281518110611ba857fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001611bea91906140b2565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611c169291906142b2565b60206040518083038186803b158015611c2e57600080fd5b505afa158015611c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c6691908101906134ac565b6000838152600a60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611cc2908490849061427b565b60405180910390a15050600101611b91565b6001546001600160a01b03163314611cfe5760405162461bcd60e51b8152600401610c2890614448565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611d41926001600160a01b03918216929116906140ff565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000611d7a6127e2565b6001600160a01b031663835e119c836040518263ffffffff1660e01b8152600401611627919061426d565b6000611daf6127e2565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b81526004016108d9929190614289565b606080611de8612fc8565b60408051600380825260808201909252919250606091906020820183803883390190505090506b526577617264457363726f7760a01b81600081518110611e2b57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600181518110611e5657fe5b6020026020010181815250506d537570706c795363686564756c6560901b81600281518110611e8157fe5b602002602001018181525050611e9782826130bb565b9250505090565b611ea6612944565b611eae6127f6565b611eb66127e2565b600480546040516285c0d160e31b81526001600160a01b039384169363042e0688936112329390911691869101614218565b6000546001600160a01b031681565b60008584611f0582826128cc565b611f0d6127f6565b611f1561292d565b6001600160a01b0316634f8633d28a600460009054906101000a90046001600160a01b03168b8b8b8f60008d8d6040518a63ffffffff1660e01b8152600401611f66999897969594939291906141a0565b6040805180830381600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fb791908101906138c8565b509998505050505050505050565b631cd554d160e21b81565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109b55780601f1061098a576101008083540402835291602001916109b5565b612033612a65565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906110949083906140d6565b612086612944565b61208e6127f6565b6120966127e2565b600480546040516324beb82560e11b81526001600160a01b039384169363497d704a936120c79390911691016140c8565b600060405180830381600087803b1580156120e157600080fd5b505af11580156120f5573d6000803e3d6000fd5b505050505b565b60008060006121096127f6565b61211161292d565b600480546040516306c5a00b60e21b81526001600160a01b0393841693631b16802c936121449390911691899101614218565b606060405180830381600087803b15801561215e57600080fd5b505af1158015610bbc573d6000803e3d6000fd5b6003546001600160a01b031681565b612189613170565b600580546001600160a01b0319166001600160a01b038316179055611265816131f5565b60006121b76127e2565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b81526004016108d991906140c8565b60006121ec6127e2565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b81526004016108d991906140c8565b60006122216127f6565b612229612a8f565b60045461223f906001600160a01b031683612acf565b50600454610a3f906001600160a01b03168484613267565b61225f612db4565b6002546040516001600160a01b039091169063907dff979061228790859085906020016142a4565b6040516020818303038152906040526002604051611a6790614045565b6122ac612944565b6122b46127f6565b6122bc6127e2565b6004805460405163644bb89960e11b81526001600160a01b039384169363c8977132936120c79390911691016140c8565b6122f5613274565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b61231f612944565b6123276127f6565b61232f6127e2565b60048054604051632694552d60e21b81526001600160a01b0393841693639a5154b4936123639388939216918791016141f0565b600060405180830381600087803b15801561237d57600080fd5b505af1158015612391573d6000803e3d6000fd5b505050505050565b600083826123a782826128cc565b6123af6127f6565b6123b761292d565b600480546040516327c319e960e11b81526001600160a01b0393841693634f8633d2936123f8938d939216918c918c918c91869160009183918391016141a0565b6040805180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061244991908101906138c8565b50979650505050505050565b600061245f6127e2565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b815260040161248c929190614218565b60206040518083038186803b1580156124a457600080fd5b505afa1580156124b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111e09190810190613786565b60006124e66127e2565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b81526004016108d9929190614289565b6004546001600160a01b031681565b611265612dec565b60006125356127e2565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561256d57600080fd5b505afa158015612581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f19190810190613786565b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e9061248c90869086906004016140ff565b60006125e2612a8f565b6125ea6127f6565b6000806125f56127e2565b6004805460405163298f137d60e21b81526001600160a01b039384169363a63c4df49361262a938b938b939091169101614226565b6040805180830381600087803b15801561264357600080fd5b505af1158015612657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061267b91908101906138f8565b600454919350915061269b908690849084906001600160a01b03166132b3565b6004546126b39086906001600160a01b031684613267565b95945050505050565b6126c4612944565b6126cc6127f6565b6126d46127e2565b6004805460405163227635b160e11b81526001600160a01b03938416936344ec6b62936123639388939216918791016141f0565b6005546001600160a01b031681565b6002546001600160a01b031681565b6000838261273482826128cc565b61273c6127f6565b61274461292d565b600480546040516327c319e960e11b81526001600160a01b0393841693634f8633d293612786939091169182918c918c918c91859160009183918391016141a0565b6040805180830381600087803b15801561279f57600080fd5b505af11580156127b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127d791908101906138c8565b509695505050505050565b60006116f16524b9b9bab2b960d11b61332f565b6002546001600160a01b0316331480159061281c57506003546001600160a01b03163314155b801561283357506004546001600160a01b03163314155b156120fa57600480546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff979061287290849060200161426d565b604051602081830303815290604052600360405161288f90614086565b60405180910390206128a088612fbc565b6128a988612fbc565b60006040518763ffffffff1660e01b8152600401611a9c969594939291906143d2565b6128d461338c565b6001600160a01b0316631ce00ba283836040518363ffffffff1660e01b81526004016129019291906142a4565b60006040518083038186803b15801561291957600080fd5b505afa158015612391573d6000803e3d6000fd5b60006116f16822bc31b430b733b2b960b91b61332f565b61294c61338c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561298457600080fd5b505afa1580156120f5573d6000803e3d6000fd5b60006116f1722932bbb0b93239a234b9ba3934b13aba34b7b760691b61332f565b60006116f16d537570706c795363686564756c6560901b61332f565b6000828211156129f75760405162461bcd60e51b8152600401610c2890614488565b50900390565b6000828201838110156111e05760405162461bcd60e51b8152600401610c2890614478565b6002546040516001600160a01b039091169063907dff9790612a4890849060200161426d565b604051602081830303815290604052600360405161288f906140bd565b6000546001600160a01b031633146120fa5760405162461bcd60e51b8152600401610c28906144d8565b612a9761338c565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561298457600080fd5b600080612ada6133a6565b6001600160a01b0316638b3f8088856040518263ffffffff1660e01b8152600401612b0591906140c8565b604080518083038186803b158015612b1c57600080fd5b505afa158015612b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b5491908101906138f8565b5090508015610a3f57600080612b686127e2565b6005546040516370a0823160e01b81526001600160a01b0392831692636bed0415928a929116906370a0823190612ba39084906004016140c8565b60206040518083038186803b158015612bbb57600080fd5b505afa158015612bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612bf39190810190613786565b6040518363ffffffff1660e01b8152600401612c10929190614218565b604080518083038186803b158015612c2757600080fd5b505afa158015612c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c5f9190810190613898565b9150915081851115612c835760405162461bcd60e51b8152600401610c28906144a8565b8015612ca15760405162461bcd60e51b8152600401610c28906144b8565b50600195945050505050565b600554604051636eb1769f60e11b81526000916001600160a01b03169063da46098c9086908890612d4e908790869063dd62ed3e90612cf290879087906004016140ff565b60206040518083038186803b158015612d0a57600080fd5b505afa158015612d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d429190810190613786565b9063ffffffff6129d516565b6040518463ffffffff1660e01b8152600401612d6c939291906141f0565b600060405180830381600087803b158015612d8657600080fd5b505af1158015612d9a573d6000803e3d6000fd5b50505050612da9848484612e3a565b90505b949350505050565b612dbc61292d565b6001600160a01b0316336001600160a01b0316146120fa5760405162461bcd60e51b8152600401610c2890614468565b60405162461bcd60e51b8152600401610c2890614498565b60006116f16b526577617264457363726f7760a01b61332f565b60006116f16d2932bbb0b93222b9b1b937bbab1960911b61332f565b60006001600160a01b03831615801590612e5d57506001600160a01b0383163014155b8015612e7757506002546001600160a01b03848116911614155b612e935760405162461bcd60e51b8152600401610c2890614438565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f6908690612ed390869085906370a0823190612cf29086906004016140c8565b6040518363ffffffff1660e01b8152600401612ef0929190614218565b600060405180830381600087803b158015612f0a57600080fd5b505af1158015612f1e573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f691508590612f6290869085906370a0823190610e259086906004016140c8565b6040518363ffffffff1660e01b8152600401612f7f929190614218565b600060405180830381600087803b158015612f9957600080fd5b505af1158015612fad573d6000803e3d6000fd5b50505050610a3f848484612a22565b6001600160a01b031690565b60408051600580825260c082019092526060916020820160a0803883390190505090506d53796e746865746978537461746560901b8160008151811061300a57fe5b6020026020010181815250506b53797374656d53746174757360a01b8160018151811061303357fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061305957fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061307c57fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b816004815181106130ac57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156130eb578160200160208202803883390190505b50905060005b835181101561312d5783818151811061310657fe5b602002602001015182828151811061311a57fe5b60209081029190910101526001016130f1565b5060005b82518110156118a65782818151811061314657fe5b602002602001015182828651018151811061315d57fe5b6020908102919091010152600101613131565b6002546001600160a01b0316331480159061319657506003546001600160a01b03163314155b80156131ad57506004546001600160a01b03163314155b156131c557600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146120fa5760405162461bcd60e51b8152600401610c2890614458565b6002546040516001600160a01b039091169063907dff979061321b9084906020016140c8565b60405160208183030381529060405260016040516132389061409c565b6040519081900381206001600160e01b031960e086901b16825261123293929160009081908190600401614339565b60006111dd848484612e3a565b6002546001600160a01b031633148061329757506003546001600160a01b031633145b6120fa5760405162461bcd60e51b8152600401610c28906144f8565b6002546040516001600160a01b039091169063907dff97906132dd90869086908690602001614523565b60405160208183030381529060405260026040516132fa906140a7565b604051809103902061330b89612fbc565b6000806040518763ffffffff1660e01b815260040161146b96959493929190614398565b6000818152600a602090815260408083205490516001600160a01b03909116918215159161335f9186910161405b565b604051602081830303815290604052906118a65760405162461bcd60e51b8152600401610c289190614427565b60006116f16b53797374656d53746174757360a01b61332f565b60006116f16d53796e746865746978537461746560901b61332f565b80356109298161461a565b80516109298161461a565b600082601f8301126133e957600080fd5b81516133fc6133f782614566565b61453f565b9150818183526020840193506020810190508385602084028201111561342157600080fd5b60005b8381101561344d5781613437888261346d565b8452506020928301929190910190600101613424565b5050505092915050565b80516109298161462e565b803561092981614637565b805161092981614637565b805161092981614640565b803561092981614640565b6000602082840312156134a057600080fd5b6000612dac84846133c2565b6000602082840312156134be57600080fd5b6000612dac84846133cd565b600080604083850312156134dd57600080fd5b60006134e985856133c2565b92505060206134fa858286016133c2565b9150509250929050565b60008060006060848603121561351957600080fd5b600061352586866133c2565b9350506020613536868287016133c2565b925050604061354786828701613462565b9150509250925092565b6000806040838503121561356457600080fd5b600061357085856133c2565b92505060206134fa85828601613462565b60008060006060848603121561359657600080fd5b60006135a286866133c2565b935050602061353686828701613462565b600080600080608085870312156135c957600080fd5b60006135d587876133c2565b94505060206135e687828801613462565b93505060406135f787828801613462565b925050606061360887828801613462565b91505092959194509250565b60008060008060008060c0878903121561362d57600080fd5b600061363989896133c2565b965050602061364a89828a01613462565b955050604061365b89828a01613462565b945050606061366c89828a01613462565b935050608061367d89828a016133c2565b92505060a061368e89828a01613462565b9150509295509295509295565b60008060008060008060c087890312156136b457600080fd5b60006136c089896133c2565b96505060206136d189828a01613462565b95505060406136e289828a01613462565b94505060606136f389828a01613462565b935050608061370489828a01613462565b92505060a061368e89828a016133c2565b60006020828403121561372757600080fd5b815167ffffffffffffffff81111561373e57600080fd5b612dac848285016133d8565b60006020828403121561375c57600080fd5b6000612dac8484613457565b60006020828403121561377a57600080fd5b6000612dac8484613462565b60006020828403121561379857600080fd5b6000612dac848461346d565b600080600080608085870312156137ba57600080fd5b60006135d58787613462565b6000806000606084860312156137db57600080fd5b60006135a28686613462565b600080600080600060a086880312156137ff57600080fd5b600061380b8888613462565b955050602061381c88828901613462565b945050604061382d88828901613462565b935050606061383e888289016133c2565b925050608061384f88828901613462565b9150509295509295909350565b60006020828403121561386e57600080fd5b6000612dac8484613478565b60006020828403121561388c57600080fd5b6000612dac8484613483565b600080604083850312156138ab57600080fd5b60006138b7858561346d565b92505060206134fa85828601613457565b600080604083850312156138db57600080fd5b60006138e7858561346d565b92505060206134fa85828601613478565b6000806040838503121561390b57600080fd5b6000613917858561346d565b92505060206134fa8582860161346d565b60008060006060848603121561393d57600080fd5b6000613949868661346d565b935050602061395a8682870161346d565b92505060406135478682870161346d565b600061397783836139f9565b505060200190565b613988816145c0565b82525050565b6139888161459f565b60006139a28261458d565b6139ac8185614591565b93506139b783614587565b8060005b838110156139e55781516139cf888261396b565b97506139da83614587565b9250506001016139bb565b509495945050505050565b613988816145aa565b61398881611014565b613988613a0e82611014565b611014565b6000613a1e8261458d565b613a288185614591565b9350613a388185602086016145e4565b613a4181614610565b9093019392505050565b613988816145af565b613988816145cb565b613988816145d9565b6000613a73601f83614591565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b6000613aac603583614591565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613b03601383614591565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b6000613b32601e83614591565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000613b6b601b83614591565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613ba460288361459a565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b6000613bee601e83614591565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613c27601b83614591565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000613c6060318361459a565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152702c75696e743235362c75696e743235362960781b602082015260310192915050565b6000613cb360118361459a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613ce0603e8361459a565b7f53796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000613d3f602683614591565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152650cac840a69cb60d31b602082015260400192915050565b6000613d87601e83614591565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b6000613dc0601b83614591565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b6000613df9602f83614591565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613e4a60218361459a565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000613e8d60278361459a565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000613ed6601a8361459a565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000613f0f60328361459a565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6000613f6360198361459a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613f9c601583614591565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b6000613fcd60218361459a565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000614010601783614591565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b613988816145ba565b600061092982613b97565b600061092982613c53565b600061406682613ca6565b91506140728284613a02565b50602001919050565b600061092982613cd3565b600061092982613e3d565b600061092982613e80565b600061092982613ec9565b600061092982613f02565b600061406682613f56565b600061092982613fc0565b60208101610929828461398e565b60208101610929828461397f565b604081016140f2828561397f565b6111e060208301846139f9565b6040810161410d828561398e565b6111e0602083018461398e565b6101208101614129828c61398e565b614136602083018b61398e565b614143604083018a6139f9565b61415060608301896139f9565b61415d60808301886139f9565b61416a60a083018761397f565b61417760c08301866139f0565b61418460e083018561398e565b6141926101008301846139f9565b9a9950505050505050505050565b61012081016141af828c61398e565b6141bc602083018b61398e565b6141c9604083018a6139f9565b6141d660608301896139f9565b6141e360808301886139f9565b61416a60a083018761398e565b606081016141fe828661398e565b61420b602083018561398e565b612dac60408301846139f9565b604081016140f2828561398e565b60608101614234828661398e565b61424160208301856139f9565b612dac604083018461398e565b602080825281016111e08184613997565b6020810161092982846139f0565b6020810161092982846139f9565b6040810161410d82856139f9565b6040810161429782856139f9565b6111e060208301846139f0565b604081016140f282856139f9565b604081016142c082856139f9565b81810360208301526111dd8184613a13565b60a081016142e082886139f9565b6142ed60208301876139f9565b6142fa60408301866139f9565b61430760608301856139f9565b614314608083018461398e565b9695505050505050565b6060810161432c82866139f9565b61420b60208301856139f9565b60c0808252810161434a8189613a13565b90506143596020830188613a5d565b61436660408301876139f9565b6143736060830186613a54565b6143806080830185613a54565b61438d60a0830184613a54565b979650505050505050565b60c080825281016143a98189613a13565b90506143b86020830188613a5d565b6143c560408301876139f9565b61437360608301866139f9565b60c080825281016143e38189613a13565b90506143f26020830188613a5d565b6143ff60408301876139f9565b61440c60608301866139f9565b61438060808301856139f9565b602081016109298284613a4b565b602080825281016111e08184613a13565b6020808252810161092981613a66565b6020808252810161092981613a9f565b6020808252810161092981613af6565b6020808252810161092981613b25565b6020808252810161092981613b5e565b6020808252810161092981613be1565b6020808252810161092981613c1a565b6020808252810161092981613d32565b6020808252810161092981613d7a565b6020808252810161092981613db3565b6020808252810161092981613dec565b6020808252810161092981613f8f565b6020808252810161092981614003565b6040810161451682856139f9565b6111e06020830184613a4b565b6060810161423482866139f9565b60208101610929828461403c565b60405181810167ffffffffffffffff8111828210171561455e57600080fd5b604052919050565b600067ffffffffffffffff82111561457d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b600061092982612fbc565b151590565b60006109298261459f565b60ff1690565b6000610929826145af565b6000610929613a0e83611014565b600061092982611014565b60005b838110156145ff5781810151838201526020016145e7565b838111156120f55750506000910152565b601f01601f191690565b6146238161459f565b811461126557600080fd5b614623816145aa565b61462381611014565b614623816145af56fea365627a7a72315820ddbbd29049fe7f35134376863ea122b43aa41407200ca3b43f2b30475b38aeed6c6578706572696d656e74616cf564736f6c63430005100040", "abi": [ { "inputs": [ @@ -5097,11 +5097,17 @@ "internalType": "uint256", "name": "toAmount", "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fee", + "type": "uint256" } ], "name": "ExchangeTracking", "type": "event", - "signature": "0x9b39fce028952c685c9c73b2f5f825f8e369fbdaca2bec73c4abb52c2abc123c" + "signature": "0x598db110c31345e2c4418fa8a5d4e125f3526f24b214150e19d76e5889ed120b" }, { "anonymous": false, @@ -5235,6 +5241,22 @@ "type": "event", "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x614d08f8" + }, { "constant": true, "inputs": [], @@ -5679,6 +5701,11 @@ "internalType": "uint256", "name": "toAmount", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" } ], "name": "emitExchangeTracking", @@ -5686,7 +5713,7 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xddd03a3f" + "signature": "0x2d3169eb" }, { "constant": false, @@ -5823,7 +5850,7 @@ }, { "internalType": "address", - "name": "originator", + "name": "rewardAddress", "type": "address" }, { @@ -5865,7 +5892,7 @@ }, { "internalType": "address", - "name": "originator", + "name": "rewardAddress", "type": "address" }, { @@ -5887,6 +5914,48 @@ "type": "function", "signature": "0x30ead760" }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "rewardAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "exchangeWithTrackingForInitiator", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x5af090ef" + }, { "constant": false, "inputs": [ @@ -6659,10 +6728,10 @@ } ], "source": { - "keccak256": "0x33cdbd8578a578cf81ba42b1a47fc9af81a7287b9dde01b81115b84851e4c2fe", + "keccak256": "0xfe96c3e453d25fd481a0ecec72538b1559b8fc15af09f695dfb643df219dddfb", "urls": [ - "bzz-raw://064450b41477c73a8d3f30efd1619ffc005bd02d6c6cfb5707a012f1cd61ac5e", - "dweb:/ipfs/QmZeoWh4hCxmRLjG4GDWeEQMMUSsq6jEwJjHdXhgLKJzRA" + "bzz-raw://90a32fa065d21d8471f348e225db9e370c4239dcbae73c9dc09ecaa51d0efe3d", + "dweb:/ipfs/QmWe7u7PjHiiyDEwvbKN3MhTzuvVMoEXB53sza9YnVD4H6" ] }, "metadata": { @@ -6684,10 +6753,10 @@ }, "sources": { "Synthetix.sol": { - "keccak256": "0x33cdbd8578a578cf81ba42b1a47fc9af81a7287b9dde01b81115b84851e4c2fe", + "keccak256": "0xfe96c3e453d25fd481a0ecec72538b1559b8fc15af09f695dfb643df219dddfb", "urls": [ - "bzz-raw://064450b41477c73a8d3f30efd1619ffc005bd02d6c6cfb5707a012f1cd61ac5e", - "dweb:/ipfs/QmZeoWh4hCxmRLjG4GDWeEQMMUSsq6jEwJjHdXhgLKJzRA" + "bzz-raw://90a32fa065d21d8471f348e225db9e370c4239dcbae73c9dc09ecaa51d0efe3d", + "dweb:/ipfs/QmWe7u7PjHiiyDEwvbKN3MhTzuvVMoEXB53sza9YnVD4H6" ] } }, @@ -28237,7 +28306,7 @@ } }, "DebtCache": { - "bytecode": "60806040526007805460ff1916600117905534801561001d57600080fd5b506040516129b93803806129b98339818101604052604081101561004057600080fd5b50805160209091015181818080836001600160a01b0381166100a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050505050612882806101376000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063759076e5116100de578063af5355d811610097578063d0fffafd11610071578063d0fffafd146105a2578063d685743a146105aa578063e3476cd4146105cd578063fc524773146105d557610173565b8063af5355d8146104be578063b13cd785146104c6578063cda218c71461053457610173565b8063759076e51461042957806379ba509714610431578063899ffef4146104395780638da5cb5b146104915780638dd5bfbc14610499578063a5f27edb146104b657610173565b80632992dba2116101305780632992dba2146102d85780632af64bd3146102f95780633a900a2e1461031557806353a47bb7146103455780636bf7c4351461034d578063741853601461042157610173565b806304bd11e51461017857806304f3bcec1461019957806305393262146101bd5780630fb38465146101d75780631627540c146101f457806317b38db41461021a575b600080fd5b6101976004803603602081101561018e57600080fd5b503515156105dd565b005b6101a16105f1565b604080516001600160a01b039092168252519081900360200190f35b6101c5610600565b60408051918252519081900360200190f35b6101c5600480360360208110156101ed57600080fd5b5035610607565b6101976004803603602081101561020a57600080fd5b50356001600160a01b0316610619565b6101976004803603604081101561023057600080fd5b810190602081018135600160201b81111561024a57600080fd5b82018360208201111561025c57600080fd5b803590602001918460208302840111600160201b8311171561027d57600080fd5b919390929091602081019035600160201b81111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460208302840111600160201b831117156102cd57600080fd5b509092509050610675565b6102e06106f2565b6040805192835290151560208301528051918290030190f35b610301610705565b604080519115158252519081900360200190f35b61031d61080f565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b6101a1610840565b6103bb6004803603602081101561036357600080fd5b810190602081018135600160201b81111561037d57600080fd5b82018360208201111561038f57600080fd5b803590602001918460208302840111600160201b831117156103b057600080fd5b50909250905061084f565b604051808060200184815260200183151515158152602001828103825285818151815260200191508051906020019060200280838360005b8381101561040b5781810151838201526020016103f3565b5050505090500194505050505060405180910390f35b61019761089d565b6102e0610a65565b610197610a70565b610441610b2c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047d578181015183820152602001610465565b505050509050019250505060405180910390f35b6101a1610cc0565b610197600480360360208110156104af57600080fd5b5035610ccf565b610301610dab565b6101c5610db4565b610441600480360360208110156104dc57600080fd5b810190602081018135600160201b8111156104f657600080fd5b82018360208201111561050857600080fd5b803590602001918460208302840111600160201b8311171561052957600080fd5b509092509050610dc3565b6101976004803603602081101561054a57600080fd5b810190602081018135600160201b81111561056457600080fd5b82018360208201111561057657600080fd5b803590602001918460208302840111600160201b8311171561059757600080fd5b509092509050610e0a565b6101c5610f9e565b610197600480360360408110156105c057600080fd5b5080359060200135610fa4565b610197611032565b610301611285565b6105e5611292565b6105ee816112f8565b50565b6002546001600160a01b031681565b6004545b90565b60009081526005602052604090205490565b610621611345565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61067d61138e565b6106ec84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808802828101820190935287825290935087925086918291850190849080828437600092018290525092508291506114089050565b50505050565b6000806106fd611687565b915091509091565b60006060610711610b2c565b905060005b815181101561080657600082828151811061072d57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561079557600080fd5b505afa1580156107a9573d6000803e3d6000fd5b505050506040513d60208110156107bf57600080fd5b50516001600160a01b03161415806107ec57506000818152600360205260409020546001600160a01b0316155b156107fd5760009350505050610604565b50600101610716565b50600191505090565b6006546004546007546000928392839283929190829060ff16610831826119de565b94509450945094505090919293565b6001546001600160a01b031681565b60606000806108908585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119f792505050565b9250925092509250925092565b60606108a7610b2c565b905060005b8151811015610a615760008282815181106108c357fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610979578181015183820152602001610961565b50505050905090810190601f1680156109a65780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016108ac565b5050565b6000806106fd611b97565b6001546001600160a01b03163314610ab95760405162461bcd60e51b81526004018080602001828103825260358152602001806127856035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610b37611e9e565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506524b9b9bab2b960d11b81600081518110610b7757fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610b9d57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610bc757fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610bf057fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600481518110610c1c57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1cd554d1606a1b81600581518110610c4c57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600681518110610c7a57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600781518110610ca357fe5b602002602001018181525050610cb98282611eef565b9250505090565b6000546001600160a01b031681565b610cd7611345565b6000610ce1611fab565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d2457600080fd5b505afa158015610d38573d6000803e3d6000fd5b505050506040513d6020811015610d4e57600080fd5b50516001600160a01b031614610d9a576040805162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260056020526040812055565b60075460ff1690565b6000610dbe611fbf565b905090565b6060610e0183838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061206e92505050565b90505b92915050565b610e126120fe565b60606000610e1e612164565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610e9057600080fd5b505afa158015610ea4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610ecd57600080fd5b8101908080516040519392919084600160201b821115610eec57600080fd5b908301906020820185811115610f0157600080fd5b82518660208202830111600160201b82111715610f1d57600080fd5b82525081516020918201928201910280838360005b83811015610f4a578181015183820152602001610f32565b505050509190910160408181526020938401518a850280840186019092528a83529698509596506106ec95909450899350889283925085019084908082843760009201829052508793508692509050611408565b60065490565b610fac611292565b604080516001808252818301909252606091602080830190803883390190505090508281600081518110610fdc57fe5b6020908102919091010152604080516001808252818301909252606091816020016020820280388339019050509050828160008151811061101957fe5b6020026020010181815250506106ec8282600080611408565b61103a6120fe565b6060611044611fab565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561107c57600080fd5b505afa158015611090573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110b957600080fd5b8101908080516040519392919084600160201b8211156110d857600080fd5b9083019060208201858111156110ed57600080fd5b82518660208202830111600160201b8211171561110957600080fd5b82525081516020918201928201910280838360005b8381101561113657818101518382015260200161111e565b5050505090500160405250505090506060600080611153846119f7565b825192955090935091506000805b828110156111cb57600086828151811061117757fe5b60200260200101519050611194818461217f90919063ffffffff16565b925080600560008a85815181106111a757fe5b60209081029190910181015182528101919091526040016000205550600101611161565b506c115610d31551115117d1115095609a1b6000526005602052600080516020612765833981519152849055611207818563ffffffff6121d916565b600455426006556040805182815290517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a161127d836112f8565b505050505050565b6000610dbe6006546119de565b61129a611fab565b6001600160a01b0316336001600160a01b0316146112f6576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b565b60075460ff161515811515146105ee576007805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6000546001600160a01b031633146112f65760405162461bcd60e51b815260040180806020018281038252602f8152602001806127db602f913960400191505060405180910390fd5b611396611fab565b6001600160a01b0316336001600160a01b031614806113cd57506113b86121f4565b6001600160a01b0316336001600160a01b0316145b6112f65760405162461bcd60e51b81526004018080602001828103825260218152602001806127ba6021913960400191505060405180910390fd5b83518351811461145f576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b6c115610d31551115117d1115095609a1b600090815260056020526000805160206127658339815191525481906060611498898961220b565b905060005b858110156115275760008a82815181106114b357fe5b6020026020010151905060008383815181106114cb57fe5b602002602001015190506114fb60056000848152602001908152602001600020548861217f90919063ffffffff16565b965061150d868263ffffffff61217f16565b60009283526005602052604090922055935060010161149d565b50851561154d57600080611539611687565b9150915088806115465750805b9850909250505b6c115610d31551115117d1115095609a1b60005260056020526000805160206127658339815191525461158790859063ffffffff6121d916565b9350611599838363ffffffff6121d916565b6c115610d31551115117d1115095609a1b6000526005602052600080516020612765833981519152839055925083831461166d576004548085111561160f5760405162461bcd60e51b815260040180806020018281038252602381526020018061282b6023913960400191505060405180910390fd5b61162f84611623838863ffffffff6124d616565b9063ffffffff61217f16565b60048190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b861561167c5761167c876112f8565b505050505050505050565b600080611706611695612533565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116cd57600080fd5b505afa1580156116e1573d6000803e3d6000fd5b505050506040513d60208110156116f757600080fd5b5051839063ffffffff61217f16565b91506000611712612554565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561174a57600080fd5b505afa15801561175e573d6000803e3d6000fd5b505050506040513d602081101561177457600080fd5b50519050801561183a57600080611789612164565b6001600160a01b0316630c71cd23630e68aa8960e31b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156117d257600080fd5b505afa1580156117e6573d6000803e3d6000fd5b505050506040513d60408110156117fc57600080fd5b508051602090910151909250905083806118135750805b9350611835611828848463ffffffff61257116565b869063ffffffff61217f16565b945050505b600080611845612586565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561187c57600080fd5b505afa158015611890573d6000803e3d6000fd5b505050506040513d60408110156118a657600080fd5b50805160209091015190925090506000806118bf612586565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b1580156118f657600080fd5b505afa15801561190a573d6000803e3d6000fd5b505050506040513d604081101561192057600080fd5b508051602090910151909250905085806119375750825b8061193f5750805b955061195582611623898763ffffffff61217f16565b96506119d36119626125a5565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561199a57600080fd5b505afa1580156119ae573d6000803e3d6000fd5b505050506040513d60208110156119c457600080fd5b5051889063ffffffff61217f16565b965050505050509091565b60008142036119eb611fbf565b1080610e045750501590565b606060008060606000611a08612164565b6001600160a01b031663c8e5bbd5876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611a66578181015183820152602001611a4e565b505050509050019250505060006040518083038186803b158015611a8957600080fd5b505afa158015611a9d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611ac657600080fd5b8101908080516040519392919084600160201b821115611ae557600080fd5b908301906020820185811115611afa57600080fd5b82518660208202830111600160201b82111715611b1657600080fd5b82525081516020918201928201910280838360005b83811015611b43578181015183820152602001611b2b565b5050505091909101604052506020015192945091925060609150611b699050878461220b565b9050600080611b76611687565b9150915082828580611b855750825b97509750975050505050509193909250565b6000806060611ba4611fab565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611bdc57600080fd5b505afa158015611bf0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611c1957600080fd5b8101908080516040519392919084600160201b821115611c3857600080fd5b908301906020820185811115611c4d57600080fd5b82518660208202830111600160201b82111715611c6957600080fd5b82525081516020918201928201910280838360005b83811015611c96578181015183820152602001611c7e565b50505050905001604052505050905060606000611cb1612164565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611d0f578181015183820152602001611cf7565b505050509050019250505060006040518083038186803b158015611d3257600080fd5b505afa158015611d46573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611d6f57600080fd5b8101908080516040519392919084600160201b821115611d8e57600080fd5b908301906020820185811115611da357600080fd5b82518660208202830111600160201b82111715611dbf57600080fd5b82525081516020918201928201910280838360005b83811015611dec578181015183820152602001611dd4565b5050505091909101604052506020015192945091925060609150611e129050848461220b565b9050600080611e1f611687565b845191935091506000805b82811015611e6257611e58868281518110611e4157fe5b60200260200101518361217f90919063ffffffff16565b9150600101611e2a565b50838110611e7f57611e7a818563ffffffff6124d616565b611e82565b60005b9050808680611e8e5750835b9950995050505050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611ee057fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611f1f578160200160208202803883390190505b50905060005b8351811015611f6157838181518110611f3a57fe5b6020026020010151828281518110611f4e57fe5b6020908102919091010152600101611f25565b5060005b8251811015611fa457828181518110611f7a57fe5b6020026020010151828286510181518110611f9157fe5b6020908102919091010152600101611f65565b5092915050565b6000610dbe6524b9b9bab2b960d11b6125bb565b6000611fc9612698565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561203d57600080fd5b505afa158015612051573d6000803e3d6000fd5b505050506040513d602081101561206757600080fd5b5051905090565b60606000825190506060816040519080825280602002602001820160405280156120a2578160200160208202803883390190505b50905060005b828110156120f657600560008683815181106120c057fe5b60200260200101518152602001908152602001600020548282815181106120e357fe5b60209081029190910101526001016120a8565b509392505050565b6000546001600160a01b031633146112f6576121186126b5565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561215057600080fd5b505afa1580156106ec573d6000803e3d6000fd5b6000610dbe6c45786368616e6765526174657360981b6125bb565b600082820183811015610e01576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000828210156121eb57818303610e01565b50600092915050565b6000610dbe6822bc31b430b733b2b960b91b6125bb565b60606000835190508060405190808252806020026020018201604052801561223d578160200160208202803883390190505b509150606061224a611fab565b6001600160a01b0316633b6afe40866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156122a8578181015183820152602001612290565b505050509050019250505060006040518083038186803b1580156122cb57600080fd5b505afa1580156122df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561230857600080fd5b8101908080516040519392919084600160201b82111561232757600080fd5b90830190602082018581111561233c57600080fd5b82518660208202830111600160201b8211171561235857600080fd5b82525081516020918201928201910280838360005b8381101561238557818101518382015260200161236d565b50505050905001604052505050905060008090505b828110156124cd5760008282815181106123b057fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415612419576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561245457600080fd5b505afa158015612468573d6000803e3d6000fd5b505050506040513d602081101561247e57600080fd5b505187519091506124ac9088908590811061249557fe5b60200260200101518261257190919063ffffffff16565b8684815181106124b857fe5b6020908102919091010152505060010161239a565b50505092915050565b60008282111561252d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610dbe72115d1a195c90dbdb1b185d195c985b1cd554d1606a1b6125bb565b6000610dbe6e115d1a195c90dbdb1b185d195c985b608a1b6125bb565b6000610e018383670de0b6b3a76400006126cf565b6000610dbe7021b7b63630ba32b930b626b0b730b3b2b960791b6125bb565b6000610dbe6b22ba3432b92bb930b83832b960a11b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611fa45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561265d578181015183820152602001612645565b50505050905090810190601f16801561268a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610dbe6e466c657869626c6553746f7261676560881b6125bb565b6000610dbe6b53797374656d53746174757360a01b6125bb565b600080600a83046126e6868663ffffffff61270b16565b816126ed57fe5b0490506005600a8206106126ff57600a015b600a9004949350505050565b60008261271a57506000610e04565b8282028284828161272757fe5b0414610e015760405162461bcd60e51b815260040180806020018281038252602181526020018061280a6021913960400191505060405180910390fdfebca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc7596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053656e646572206973206e6f7420497373756572206f722045786368616e6765724f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774361636865642073796e74682073756d206578636565647320746f74616c2064656274a265627a7a7231582004c86f94995d2e80fee1f380c0a674c8e486f35b3a8233c5c878d104144c6a8364736f6c63430005100032", + "bytecode": "60806040526007805460ff1916600117905534801561001d57600080fd5b506040516129da3803806129da8339818101604052604081101561004057600080fd5b50805160209091015181818080836001600160a01b0381166100a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506128a3806101376000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063759076e5116100de578063af5355d811610097578063d0fffafd11610071578063d0fffafd146105c5578063d685743a146105cd578063e3476cd4146105f0578063fc524773146105f85761018e565b8063af5355d8146104e1578063b13cd785146104e9578063cda218c7146105575761018e565b8063759076e51461044c57806379ba509714610454578063899ffef41461045c5780638da5cb5b146104b45780638dd5bfbc146104bc578063a5f27edb146104d95761018e565b80632992dba21161014b57806353a47bb71161012557806353a47bb714610360578063614d08f8146103685780636bf7c4351461037057806374185360146104445761018e565b80632992dba2146102f35780632af64bd3146103145780633a900a2e146103305761018e565b806304bd11e51461019357806304f3bcec146101b457806305393262146101d85780630fb38465146101f25780631627540c1461020f57806317b38db414610235575b600080fd5b6101b2600480360360208110156101a957600080fd5b50351515610600565b005b6101bc610614565b604080516001600160a01b039092168252519081900360200190f35b6101e0610623565b60408051918252519081900360200190f35b6101e06004803603602081101561020857600080fd5b503561062a565b6101b26004803603602081101561022557600080fd5b50356001600160a01b031661063c565b6101b26004803603604081101561024b57600080fd5b810190602081018135600160201b81111561026557600080fd5b82018360208201111561027757600080fd5b803590602001918460208302840111600160201b8311171561029857600080fd5b919390929091602081019035600160201b8111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460208302840111600160201b831117156102e857600080fd5b509092509050610698565b6102fb610715565b6040805192835290151560208301528051918290030190f35b61031c610728565b604080519115158252519081900360200190f35b610338610832565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b6101bc610863565b6101e0610872565b6103de6004803603602081101561038657600080fd5b810190602081018135600160201b8111156103a057600080fd5b8201836020820111156103b257600080fd5b803590602001918460208302840111600160201b831117156103d357600080fd5b509092509050610882565b604051808060200184815260200183151515158152602001828103825285818151815260200191508051906020019060200280838360005b8381101561042e578181015183820152602001610416565b5050505090500194505050505060405180910390f35b6101b26108d0565b6102fb610a98565b6101b2610aa3565b610464610b5f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104a0578181015183820152602001610488565b505050509050019250505060405180910390f35b6101bc610cf3565b6101b2600480360360208110156104d257600080fd5b5035610d02565b61031c610dde565b6101e0610de7565b610464600480360360208110156104ff57600080fd5b810190602081018135600160201b81111561051957600080fd5b82018360208201111561052b57600080fd5b803590602001918460208302840111600160201b8311171561054c57600080fd5b509092509050610df6565b6101b26004803603602081101561056d57600080fd5b810190602081018135600160201b81111561058757600080fd5b82018360208201111561059957600080fd5b803590602001918460208302840111600160201b831117156105ba57600080fd5b509092509050610e3d565b6101e0610fd1565b6101b2600480360360408110156105e357600080fd5b5080359060200135610fd7565b6101b2611065565b61031c6112d3565b6106086112e0565b61061181611346565b50565b6002546001600160a01b031681565b6004545b90565b60009081526005602052604090205490565b610644611393565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6106a06113dc565b61070f84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808802828101820190935287825290935087925086918291850190849080828437600092018290525092508291506114569050565b50505050565b6000806107206116c8565b915091509091565b60006060610734610b5f565b905060005b815181101561082957600082828151811061075057fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156107b857600080fd5b505afa1580156107cc573d6000803e3d6000fd5b505050506040513d60208110156107e257600080fd5b50516001600160a01b031614158061080f57506000818152600360205260409020546001600160a01b0316155b156108205760009350505050610627565b50600101610739565b50600191505090565b6006546004546007546000928392839283929190829060ff1661085482611a1f565b94509450945094505090919293565b6001546001600160a01b031681565b6844656274436163686560b81b81565b60606000806108c3858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a3892505050565b9250925092509250925092565b60606108da610b5f565b905060005b8151811015610a945760008282815181106108f657fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156109ac578181015183820152602001610994565b50505050905090810190601f1680156109d95780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156109f757600080fd5b505afa158015610a0b573d6000803e3d6000fd5b505050506040513d6020811015610a2157600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016108df565b5050565b600080610720611bd8565b6001546001600160a01b03163314610aec5760405162461bcd60e51b81526004018080602001828103825260358152602001806127a66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610b6a611edf565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506524b9b9bab2b960d11b81600081518110610baa57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610bd057fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610bfa57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610c2357fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600481518110610c4f57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1cd554d1606a1b81600581518110610c7f57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600681518110610cad57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600781518110610cd657fe5b602002602001018181525050610cec8282611f30565b9250505090565b6000546001600160a01b031681565b610d0a611393565b6000610d14611fec565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d5757600080fd5b505afa158015610d6b573d6000803e3d6000fd5b505050506040513d6020811015610d8157600080fd5b50516001600160a01b031614610dcd576040805162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260056020526040812055565b60075460ff1690565b6000610df1612000565b905090565b6060610e348383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506120af92505050565b90505b92915050565b610e4561213f565b60606000610e516121a5565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610ec357600080fd5b505afa158015610ed7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610f0057600080fd5b8101908080516040519392919084600160201b821115610f1f57600080fd5b908301906020820185811115610f3457600080fd5b82518660208202830111600160201b82111715610f5057600080fd5b82525081516020918201928201910280838360005b83811015610f7d578181015183820152602001610f65565b505050509190910160408181526020938401518a850280840186019092528a835296985095965061070f95909450899350889283925085019084908082843760009201829052508793508692509050611456565b60065490565b610fdf6112e0565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061100f57fe5b6020908102919091010152604080516001808252818301909252606091816020016020820280388339019050509050828160008151811061104c57fe5b60200260200101818152505061070f8282600080611456565b61106d61213f565b6060611077611fec565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156110af57600080fd5b505afa1580156110c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110ec57600080fd5b8101908080516040519392919084600160201b82111561110b57600080fd5b90830190602082018581111561112057600080fd5b82518660208202830111600160201b8211171561113c57600080fd5b82525081516020918201928201910280838360005b83811015611169578181015183820152602001611151565b505050509050016040525050509050606060008061118684611a38565b825192955090935091506000805b828110156111fe5760008682815181106111aa57fe5b602002602001015190506111c781846121c090919063ffffffff16565b925080600560008a85815181106111da57fe5b60209081029190910181015182528101919091526040016000205550600101611194565b506c115610d31551115117d1115095609a1b600090815260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc785905561124e828663ffffffff61221a16565b6004819055426006556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a16112ca84611346565b50505050505050565b6000610df1600654611a1f565b6112e8611fec565b6001600160a01b0316336001600160a01b031614611344576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b565b60075460ff16151581151514610611576007805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6000546001600160a01b031633146113445760405162461bcd60e51b815260040180806020018281038252602f8152602001806127fc602f913960400191505060405180910390fd5b6113e4611fec565b6001600160a01b0316336001600160a01b0316148061141b5750611406612235565b6001600160a01b0316336001600160a01b0316145b6113445760405162461bcd60e51b81526004018080602001828103825260218152602001806127db6021913960400191505060405180910390fd5b8351835181146114ad576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b60008060606114bc888861224c565b905060005b8481101561154b5760008982815181106114d757fe5b6020026020010151905060008383815181106114ef57fe5b6020026020010151905061151f6005600084815260200190815260200160002054876121c090919063ffffffff16565b9550611531858263ffffffff6121c016565b6000928352600560205260409092205592506001016114c1565b508183146116af57600454808411156115955760405162461bcd60e51b815260040180806020018281038252602381526020018061284c6023913960400191505060405180910390fd5b6115b5836115a9838763ffffffff61251716565b9063ffffffff6121c016565b90508515611675576000806115c86116c8565b9150915088806115d55750805b6c115610d31551115117d1115095609a1b60005260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc75490995061163390611627858563ffffffff6121c016565b9063ffffffff61221a16565b6c115610d31551115117d1115095609a1b60005260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc7929092555090505b60048190556040805182815290517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a1505b85156116be576116be86611346565b5050505050505050565b6000806117476116d6612574565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561170e57600080fd5b505afa158015611722573d6000803e3d6000fd5b505050506040513d602081101561173857600080fd5b5051839063ffffffff6121c016565b91506000611753612595565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561178b57600080fd5b505afa15801561179f573d6000803e3d6000fd5b505050506040513d60208110156117b557600080fd5b50519050801561187b576000806117ca6121a5565b6001600160a01b0316630c71cd23630e68aa8960e31b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561181357600080fd5b505afa158015611827573d6000803e3d6000fd5b505050506040513d604081101561183d57600080fd5b508051602090910151909250905083806118545750805b9350611876611869848463ffffffff6125b216565b869063ffffffff6121c016565b945050505b6000806118866125c7565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b1580156118bd57600080fd5b505afa1580156118d1573d6000803e3d6000fd5b505050506040513d60408110156118e757600080fd5b50805160209091015190925090506000806119006125c7565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561193757600080fd5b505afa15801561194b573d6000803e3d6000fd5b505050506040513d604081101561196157600080fd5b508051602090910151909250905085806119785750825b806119805750805b9550611996826115a9898763ffffffff6121c016565b9650611a146119a36125e6565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119db57600080fd5b505afa1580156119ef573d6000803e3d6000fd5b505050506040513d6020811015611a0557600080fd5b5051889063ffffffff6121c016565b965050505050509091565b6000814203611a2c612000565b1080610e375750501590565b606060008060606000611a496121a5565b6001600160a01b031663c8e5bbd5876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611aa7578181015183820152602001611a8f565b505050509050019250505060006040518083038186803b158015611aca57600080fd5b505afa158015611ade573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611b0757600080fd5b8101908080516040519392919084600160201b821115611b2657600080fd5b908301906020820185811115611b3b57600080fd5b82518660208202830111600160201b82111715611b5757600080fd5b82525081516020918201928201910280838360005b83811015611b84578181015183820152602001611b6c565b5050505091909101604052506020015192945091925060609150611baa9050878461224c565b9050600080611bb76116c8565b9150915082828580611bc65750825b97509750975050505050509193909250565b6000806060611be5611fec565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611c1d57600080fd5b505afa158015611c31573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611c5a57600080fd5b8101908080516040519392919084600160201b821115611c7957600080fd5b908301906020820185811115611c8e57600080fd5b82518660208202830111600160201b82111715611caa57600080fd5b82525081516020918201928201910280838360005b83811015611cd7578181015183820152602001611cbf565b50505050905001604052505050905060606000611cf26121a5565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611d50578181015183820152602001611d38565b505050509050019250505060006040518083038186803b158015611d7357600080fd5b505afa158015611d87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611db057600080fd5b8101908080516040519392919084600160201b821115611dcf57600080fd5b908301906020820185811115611de457600080fd5b82518660208202830111600160201b82111715611e0057600080fd5b82525081516020918201928201910280838360005b83811015611e2d578181015183820152602001611e15565b5050505091909101604052506020015192945091925060609150611e539050848461224c565b9050600080611e606116c8565b845191935091506000805b82811015611ea357611e99868281518110611e8257fe5b6020026020010151836121c090919063ffffffff16565b9150600101611e6b565b50838110611ec057611ebb818563ffffffff61251716565b611ec3565b60005b9050808680611ecf5750835b9950995050505050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611f2157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611f60578160200160208202803883390190505b50905060005b8351811015611fa257838181518110611f7b57fe5b6020026020010151828281518110611f8f57fe5b6020908102919091010152600101611f66565b5060005b8251811015611fe557828181518110611fbb57fe5b6020026020010151828286510181518110611fd257fe5b6020908102919091010152600101611fa6565b5092915050565b6000610df16524b9b9bab2b960d11b6125fc565b600061200a6126d9565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561207e57600080fd5b505afa158015612092573d6000803e3d6000fd5b505050506040513d60208110156120a857600080fd5b5051905090565b60606000825190506060816040519080825280602002602001820160405280156120e3578160200160208202803883390190505b50905060005b82811015612137576005600086838151811061210157fe5b602002602001015181526020019081526020016000205482828151811061212457fe5b60209081029190910101526001016120e9565b509392505050565b6000546001600160a01b03163314611344576121596126f6565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561219157600080fd5b505afa15801561070f573d6000803e3d6000fd5b6000610df16c45786368616e6765526174657360981b6125fc565b600082820183811015610e34576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282101561222c57818303610e34565b50600092915050565b6000610df16822bc31b430b733b2b960b91b6125fc565b60606000835190508060405190808252806020026020018201604052801561227e578160200160208202803883390190505b509150606061228b611fec565b6001600160a01b0316633b6afe40866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156122e95781810151838201526020016122d1565b505050509050019250505060006040518083038186803b15801561230c57600080fd5b505afa158015612320573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561234957600080fd5b8101908080516040519392919084600160201b82111561236857600080fd5b90830190602082018581111561237d57600080fd5b82518660208202830111600160201b8211171561239957600080fd5b82525081516020918201928201910280838360005b838110156123c65781810151838201526020016123ae565b50505050905001604052505050905060008090505b8281101561250e5760008282815181106123f157fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316141561245a576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561249557600080fd5b505afa1580156124a9573d6000803e3d6000fd5b505050506040513d60208110156124bf57600080fd5b505187519091506124ed908890859081106124d657fe5b6020026020010151826125b290919063ffffffff16565b8684815181106124f957fe5b602090810291909101015250506001016123db565b50505092915050565b60008282111561256e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610df172115d1a195c90dbdb1b185d195c985b1cd554d1606a1b6125fc565b6000610df16e115d1a195c90dbdb1b185d195c985b608a1b6125fc565b6000610e348383670de0b6b3a7640000612710565b6000610df17021b7b63630ba32b930b626b0b730b3b2b960791b6125fc565b6000610df16b22ba3432b92bb930b83832b960a11b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611fe55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561269e578181015183820152602001612686565b50505050905090810190601f1680156126cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610df16e466c657869626c6553746f7261676560881b6125fc565b6000610df16b53797374656d53746174757360a01b6125fc565b600080600a8304612727868663ffffffff61274c16565b8161272e57fe5b0490506005600a82061061274057600a015b600a9004949350505050565b60008261275b57506000610e37565b8282028284828161276857fe5b0414610e345760405162461bcd60e51b815260040180806020018281038252602181526020018061282b6021913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053656e646572206973206e6f7420497373756572206f722045786368616e6765724f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774361636865642073796e74682073756d206578636565647320746f74616c2064656274a265627a7a723158202bf739945072b13846ef32c824848b34cd150234d3109457f10ec36d7a1a9b8464736f6c63430005100032", "abi": [ { "inputs": [ @@ -28353,6 +28422,22 @@ "type": "event", "signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22" }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x614d08f8" + }, { "constant": false, "inputs": [], @@ -28800,10 +28885,10 @@ } ], "source": { - "keccak256": "0x1fad72ca0e932ce207acc285a609b103b68b23d9d4aba7b280feec5537fd8916", + "keccak256": "0xe863066404e14dc9ed6908ba5d913918f7f45f0452c54981de21a7f976384e1e", "urls": [ - "bzz-raw://a29d24b5a43d5073b0d5e5b4806512d16306317f6fb8fb7c56c72704836bef35", - "dweb:/ipfs/QmZW9H65MXSHdWUkfg59pDLwqkauqF95E8kZtiRxKhbdND" + "bzz-raw://e1a4b521577d6cfed10dac680247f4f6d73465599afa104812455483e7f75293", + "dweb:/ipfs/QmUSV3sDTCdN6bJiSYfuhuUyTvZu7iEJLCGbK5LEVCLdKC" ] }, "metadata": { @@ -28825,10 +28910,10 @@ }, "sources": { "DebtCache.sol": { - "keccak256": "0x1fad72ca0e932ce207acc285a609b103b68b23d9d4aba7b280feec5537fd8916", + "keccak256": "0xe863066404e14dc9ed6908ba5d913918f7f45f0452c54981de21a7f976384e1e", "urls": [ - "bzz-raw://a29d24b5a43d5073b0d5e5b4806512d16306317f6fb8fb7c56c72704836bef35", - "dweb:/ipfs/QmZW9H65MXSHdWUkfg59pDLwqkauqF95E8kZtiRxKhbdND" + "bzz-raw://e1a4b521577d6cfed10dac680247f4f6d73465599afa104812455483e7f75293", + "dweb:/ipfs/QmUSV3sDTCdN6bJiSYfuhuUyTvZu7iEJLCGbK5LEVCLdKC" ] } }, @@ -28836,7 +28921,7 @@ } }, "ExchangerWithVirtualSynth": { - "bytecode": "60806040523480156200001157600080fd5b506040516200468f3803806200468f833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050505061455f80620001306000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636a1c4758116100f95780638da5cb5b11610097578063d6f32e0611610071578063d6f32e0614610526578063dfffca7614610552578063f3995224146105a2578063f450aa3414610609576101c4565b80638da5cb5b146104f3578063c193f0d8146104fb578063ce09694014610503576101c4565b80637dd1a57a116100d35780637dd1a57a1461042657806386baa45c146104435780638925711714610493578063899ffef41461049b576101c4565b80636a1c4758146103d4578063741853601461041657806379ba50971461041e576101c4565b80631b16802c116101665780633fa70f45116101405780633fa70f451461036f5780634c268fc81461037757806353a47bb7146103af57806357af302c146103b7576101c4565b80631b16802c1461031f5780632af64bd31461034b578063372a395a14610367576101c4565b80630b9e31c9116101a25780630b9e31c91461026d5780631627540c1461028c57806319d5c665146102b25780631a5c6095146102fc576101c4565b806304f3bcec146101c9578063059c29ec146101ed5780630a1e187d1461022b575b600080fd5b6101d1610632565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b038135169060200135610641565b60408051918252519081900360200190f35b610219600480360360a081101561024157600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166106e5565b61028a6004803603602081101561028357600080fd5b50356107e4565b005b61028a600480360360208110156102a257600080fd5b50356001600160a01b0316610a43565b6102de600480360360408110156102c857600080fd5b506001600160a01b038135169060200135610a9f565b60408051938452602084019290925282820152519081900360600190f35b6102196004803603604081101561031257600080fd5b5080359060200135610abd565b6102de6004803603604081101561033557600080fd5b506001600160a01b038135169060200135610ac9565b610353610b4a565b604080519115158252519081900360200190f35b610219610c55565b610219610c64565b6102196004803603608081101561038d57600080fd5b506001600160a01b038135169060208101359060408101359060600135610c69565b6101d1610d89565b610353600480360360208110156103cd57600080fd5b5035610d98565b610219600480360360a08110156103ea57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610df1565b61028a610fbd565b61028a611185565b6102196004803603602081101561043c57600080fd5b5035611241565b610219600480360360e081101561045957600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c00135611253565b61021961135f565b6104a3611369565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104df5781810151838201526020016104c7565b505050509050019250505060405180910390f35b6101d16113de565b6103536113ed565b61028a6004803603604081101561051957600080fd5b50803590602001356113f7565b6103536004803603604081101561053c57600080fd5b506001600160a01b0381351690602001356114bf565b610219600480360360e081101561056857600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c001356114f1565b6105e8600480360360c08110156105b857600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a001356116c8565b604080519283526001600160a01b0390911660208301528051918290030190f35b6102de6004803603606081101561061f57600080fd5b50803590602081013590604001356117de565b6002546001600160a01b031681565b60006106dc61064e6117fe565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156106ab57600080fd5b505afa1580156106bf573d6000803e3d6000fd5b505050506040513d60208110156106d557600080fd5b5051611819565b90505b92915050565b6000806106f0611878565b9050336001600160a01b038216148061077d5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561074e57600080fd5b505afa158015610762573d6000803e3d6000fd5b505050506040513d602081101561077857600080fd5b505114155b6107b85760405162461bcd60e51b81526004018080602001828103825260458152602001806144516045913960600191505060405180910390fd5b60006107c98888888888600061188f565b5090935090506107d98185611ca1565b505095945050505050565b6107ec611d50565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561082457600080fd5b505afa158015610838573d6000803e3d6000fd5b5050505060006001600160a01b031661084f611d6a565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561089257600080fd5b505afa1580156108a6573d6000803e3d6000fd5b505050506040513d60208110156108bc57600080fd5b50516001600160a01b0316141561090a576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b61098a81610916611d7e565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d602081101561098357600080fd5b5051611d99565b6109d2576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b6109da611d50565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b5050505050565b610a4b611fe9565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806000610aae8585612034565b50919790965090945092505050565b60006106dc8383612302565b6000806000610ad6611d50565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610b1957600080fd5b505afa158015610b2d573d6000803e3d6000fd5b50505050610b3d858560016123c0565b9250925092509250925092565b60006060610b56611369565b905060005b8151811015610c4b576000828281518110610b7257fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610bda57600080fd5b505afa158015610bee573d6000803e3d6000fd5b505050506040513d6020811015610c0457600080fd5b50516001600160a01b0316141580610c3157506000818152600360205260409020546001600160a01b0316155b15610c425760009350505050610c52565b50600101610b5b565b5060019150505b90565b6000610c5f61272f565b905090565b604181565b816000610c74611d6a565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cb757600080fd5b505afa158015610ccb573d6000803e3d6000fd5b505050506040513d6020811015610ce157600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d2d57600080fd5b505afa158015610d41573d6000803e3d6000fd5b505050506040513d6020811015610d5757600080fd5b5051905080821115610d67578091505b8215610d8057610d7d828463ffffffff6127e616565b91505b50949350505050565b6001546001600160a01b031681565b6000610de982610da6611d7e565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561095957600080fd5b90505b919050565b600080610dfc611878565b9050336001600160a01b0382161480610e895750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610e5a57600080fd5b505afa158015610e6e573d6000803e3d6000fd5b505050506040513d6020811015610e8457600080fd5b505114155b610ec45760405162461bcd60e51b81526004018080602001828103825260458152602001806144516045913960600191505060405180910390fd5b610ecc612840565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b158015610f1f57600080fd5b505afa158015610f33573d6000803e3d6000fd5b505050506040513d6020811015610f4957600080fd5b5051610f9c576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000610fad888787878c600061188f565b5090935090506107d98189611ca1565b6060610fc7611369565b905060005b8151811015611181576000828281518110610fe357fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611099578181015183820152602001611081565b50505050905090810190601f1680156110c65780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156110e457600080fd5b505afa1580156110f8573d6000803e3d6000fd5b505050506040513d602081101561110e57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610fcc565b5050565b6001546001600160a01b031633146111ce5760405162461bcd60e51b815260040180806020018281038252603581526020018061441c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b60008061125e611878565b9050336001600160a01b03821614806112eb5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156112bc57600080fd5b505afa1580156112d0573d6000803e3d6000fd5b505050506040513d60208110156112e657600080fd5b505114155b6113265760405162461bcd60e51b81526004018080602001828103825260458152602001806144516045913960600191505060405180910390fd5b60006113378a8a8a8a8a600061188f565b5090935090506113478186611ca1565b61135284888561285f565b5050979650505050505050565b6000610c5f6128d9565b606080611374612953565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b816000815181106113c157fe5b6020026020010181815250506113d78282612ae4565b9250505090565b6000546001600160a01b031681565b6000610c5f612ba0565b6000611401611d7e565b9050336001600160a01b03821614611460576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b600082116114ac576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b60006114cb8383610641565b156114d8575060016106df565b60006114e48484612034565b5050501515949350505050565b6000806114fc611878565b9050336001600160a01b03821614806115895750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561155a57600080fd5b505afa15801561156e573d6000803e3d6000fd5b505050506040513d602081101561158457600080fd5b505114155b6115c45760405162461bcd60e51b81526004018080602001828103825260458152602001806144516045913960600191505060405180910390fd5b6115cc612840565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561161f57600080fd5b505afa158015611633573d6000803e3d6000fd5b505050506040513d602081101561164957600080fd5b505161169c576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006116ad8a8989898e600061188f565b5090935090506116bd8186611ca1565b61135284878561285f565b60008060006116d5611878565b9050336001600160a01b03821614806117625750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561173357600080fd5b505afa158015611747573d6000803e3d6000fd5b505050506040513d602081101561175d57600080fd5b505114155b61179d5760405162461bcd60e51b81526004018080602001828103825260458152602001806144516045913960600191505060405180910390fd5b60006117ae8a8a8a8a8a600161188f565b91955090935090506117c08187611ca1565b84156117d1576117d185888661285f565b5050965096945050505050565b60008060006117ee868686612c1e565b5092999198509650945050505050565b6000610c5f6c45786368616e6765537461746560981b612cf8565b6000806118246128d9565b9050821580611842575061183e838263ffffffff6127e616565b4210155b15611851576000915050610dec565b61187142611865858463ffffffff6127e616565b9063ffffffff612dd516565b9392505050565b6000610c5f680a6f2dce8d0cae8d2f60bb1b612cf8565b600080600061189f888888612e32565b60006118ac888b8b61300b565b9050806118c3575060009250829150819050611c95565b60008060006118d3848d8c612c1e565b939a509198509450925090506118e98c83613043565b806118f957506118f98a82613043565b15611912575060009550859450849350611c9592505050565b6119218c8e868d8b8e8e6130de565b94506001600160a01b03851615611936578498505b8515611b8f57611944611d7e565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561199e57600080fd5b505afa1580156119b2573d6000803e3d6000fd5b505050506040513d60208110156119c857600080fd5b505195506119d4611d6a565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611a1e57600080fd5b505afa158015611a32573d6000803e3d6000fd5b505050506040513d6020811015611a4857600080fd5b50516001600160a01b031663867904b4611a606133bc565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9857600080fd5b505afa158015611aac573d6000803e3d6000fd5b505050506040513d6020811015611ac257600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b158015611b1157600080fd5b505af1158015611b25573d6000803e3d6000fd5b50505050611b316133bc565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611b7657600080fd5b505af1158015611b8a573d6000803e3d6000fd5b505050505b611bc160405180604001604052808e81526020018c8152506040518060400160405280858152602001848152506133d1565b611bc9611878565b6001600160a01b0316636c00f3108e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b158015611c5a57600080fd5b505af1158015611c6e573d6000803e3d6000fd5b505050506000611c7c6128d9565b1115611c9057611c90898d868d8b8861368f565b505050505b96509650969350505050565b600082118015611cb957506001600160a01b03811615155b8015611cc85750611cc8612ba0565b1561118157611cd56138a0565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015611d3457600080fd5b505af1158015611d48573d6000803e3d6000fd5b505050505050565b6000610c5f6b53797374656d53746174757360a01b612cf8565b6000610c5f6524b9b9bab2b960d11b612cf8565b6000610c5f6c45786368616e6765526174657360981b612cf8565b600081611da8575060016106df565b6000838152600460205260409020548015611dcf57611dc781846138bc565b9150506106df565b6060611dd9611d7e565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015611e2557600080fd5b505afa158015611e39573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611e6257600080fd5b8101908080516040519392919084640100000000821115611e8257600080fd5b908301906020820185811115611e9757600080fd5b8251866020820283011164010000000082111715611eb457600080fd5b82525081516020918201928201910280838360005b83811015611ee1578181015183820152602001611ec9565b5050505090500160405260200180516040519392919084640100000000821115611f0a57600080fd5b908301906020820185811115611f1f57600080fd5b8251866020820283011164010000000082111715611f3c57600080fd5b82525081516020918201928201910280838360005b83811015611f69578181015183820152602001611f51565b505050509050016040525050505090506000600190505b8151811015611fdd576000828281518110611f9757fe5b6020026020010151118015611fc45750611fc4828281518110611fb657fe5b6020026020010151866138bc565b15611fd557600193505050506106df565b600101611f80565b50600095945050505050565b6000546001600160a01b031633146120325760405162461bcd60e51b815260040180806020018281038252602f815260200180614496602f913960400191505060405180910390fd5b565b600080600060606120436117fe565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156120a057600080fd5b505afa1580156120b4573d6000803e3d6000fd5b505050506040513d60208110156120ca57600080fd5b505160408051828152602080840282010190915290925060609083801561210b57816020015b6120f86143d0565b8152602001906001900390816120f05790505b50905060005b838110156122f6576000806121246143d0565b61212f8b8b8661391b565b905060008061213d83613a36565b91509150600061214b611d7e565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156121ba57600080fd5b505afa1580156121ce573d6000803e3d6000fd5b505050506040513d60208110156121e457600080fd5b505160808501519091506000906121fc908390613b89565b905061220c8560600151826138bc565b61228157808560600151111561224a576060850151612231908263ffffffff612dd516565b96506122438d8863ffffffff6127e616565b9c50612281565b846060015181111561228157606085015161226c90829063ffffffff612dd516565b955061227e8c8763ffffffff6127e616565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a001518152508989815181106122d757fe5b6020026020010181905250505050505050508080600101915050612111565b50905092959194509250565b600061230d82613c1b565b9050631cd554d160e21b83148061232a5750631cd554d160e21b82145b15612334576106df565b607360f81b6001600160f81b0319600085901a60f81b1614801561236c5750606960f81b6001600160f81b0319600084901a60f81b16145b806123aa5750606960f81b6001600160f81b0319600085901a60f81b161480156123aa5750607360f81b6001600160f81b0319600084901a60f81b16145b156106df576106dc81600263ffffffff613cf316565b60008060006123cf8686610641565b1561240b5760405162461bcd60e51b81526004018080602001828103825260238152602001806145086023913960400191505060405180910390fd5b6000806000606061241c8a8a612034565b93509350935093508284111561244e5761243c848463ffffffff612dd516565b96506124498a8a89613d4c565b612473565b8383111561247357612466838563ffffffff612dd516565b95506124738a8a88613e9c565b871561255a576040805160018082528183019092526060916020808301908038833901905050905089816000815181106124a957fe5b6020026020010181815250506124bd613fec565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561251b578181015183820152602001612503565b5050505090500192505050600060405180830381600087803b15801561254057600080fd5b505af1158015612554573d6000803e3d6000fd5b50505050505b60005b815181101561269f578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e94083838151811061259d57fe5b6020026020010151600001518484815181106125b557fe5b6020026020010151602001518585815181106125cd57fe5b6020026020010151604001518686815181106125e557fe5b6020026020010151606001518787815181106125fd57fe5b60200260200101516080015188888151811061261557fe5b602002602001015160a0015189898151811061262d57fe5b602002602001015160c001518a8a8151811061264557fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a260010161255d565b508194506126ab6117fe565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561270a57600080fd5b505af115801561271e573d6000803e3d6000fd5b505050505050505093509350939050565b6000612739614003565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156127b557600080fd5b505afa1580156127c9573d6000803e3d6000fd5b505050506040513d60208110156127df57600080fd5b5051905090565b6000828201838110156106dc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c5f7044656c6567617465417070726f76616c7360781b612cf8565b612867611878565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156128bc57600080fd5b505af11580156128d0573d6000803e3d6000fd5b50505050505050565b60006128e3614003565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156127b557600080fd5b60608061295e614020565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b816000815181106129a457fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106129ce57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106129f857fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600381518110612a1e57fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110612a4257fe5b6020026020010181815250506d54726164696e675265776172647360901b81600581518110612a6d57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110612a9b57fe5b6020026020010181815250506524b9b9bab2b960d11b81600781518110612abe57fe5b6020026020010181815250506844656274436163686560b81b816008815181106113c157fe5b60608151835101604051908082528060200260200182016040528015612b14578160200160208202803883390190505b50905060005b8351811015612b5657838181518110612b2f57fe5b6020026020010151828281518110612b4357fe5b6020908102919091010152600101612b1a565b5060005b8251811015612b9957828181518110612b6f57fe5b6020026020010151828286510181518110612b8657fe5b6020908102919091010152600101612b5a565b5092915050565b6000612baa614003565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156127b557600080fd5b600080600080600080612c2f611d7e565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b158015612c8257600080fd5b505afa158015612c96573d6000803e3d6000fd5b505050506040513d6060811015612cac57600080fd5b50805160208201516040909201519194509092509050612ccc8888612302565b9350612cd88185613b89565b9550612cea818763ffffffff612dd516565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612b995760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d9a578181015183820152602001612d82565b50505050905090810190601f168015612dc75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082821115612e2c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80831415612e7d576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211612ec0576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b60408051600280825260608083018452926020830190803883390190505090508381600081518110612eee57fe5b6020026020010181815250508181600181518110612f0857fe5b602002602001018181525050612f1c611d7e565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612f7a578181015183820152602001612f62565b505050509050019250505060206040518083038186803b158015612f9d57600080fd5b505afa158015612fb1573d6000803e3d6000fd5b505050506040513d6020811015612fc757600080fd5b5051156130055760405162461bcd60e51b81526004018080602001828103825260228152602001806144e66022913960400191505060405180910390fd5b50505050565b600080600061301c858560006123c0565b889550909350915050801561303a5761303785858885610c69565b92505b50509392505050565b600061304f8383611d99565b156130cb5761305c611d50565b6001600160a01b031663abc0bb6e8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156130aa57600080fd5b505af11580156130be573d6000803e3d6000fd5b50505050600190506106df565b6000928352600460205260409092205590565b60006130e8611d6a565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561312b57600080fd5b505afa15801561313f573d6000803e3d6000fd5b505050506040513d602081101561315557600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156131a957600080fd5b505af11580156131bd573d6000803e3d6000fd5b5050505060006131cb611d6a565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561320e57600080fd5b505afa158015613222573d6000803e3d6000fd5b505050506040513d602081101561323857600080fd5b5051905082156133375760008190506132b7816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b15801561328357600080fd5b505afa158015613297573d6000803e3d6000fd5b505050506040513d60208110156132ad57600080fd5b505186888a614071565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561331957600080fd5b505af115801561332d573d6000803e3d6000fd5b50505050506133b0565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561339757600080fd5b505af11580156133ab573d6000803e3d6000fd5b505050505b50979650505050505050565b6000610c5f66119959541bdbdb60ca1b612cf8565b8151600090631cd554d160e21b14806133f457506020830151631cd554d160e21b145b9050600081613404576003613407565b60025b60ff169050606081604051908082528060200260200182016040528015613438578160200160208202803883390190505b50905084600060200201518160008151811061345057fe5b602090810291909101015284600160200201518160018151811061347057fe5b6020026020010181815250506060826040519080825280602002602001820160405280156134a8578160200160208202803883390190505b5090508460006020020151816000815181106134c057fe5b60209081029190910101528460016020020151816001815181106134e057fe5b6020026020010181815250508361359e57631cd554d160e21b8260028151811061350657fe5b60200260200101818152505073__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561355657600080fd5b505af415801561356a573d6000803e3d6000fd5b505050506040513d602081101561358057600080fd5b505181518290600290811061359157fe5b6020026020010181815250505b6135a6613fec565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156136095781810151838201526020016135f1565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613648578181015183820152602001613630565b50505050905001945050505050600060405180830381600087803b15801561366f57600080fd5b505af1158015613683573d6000803e3d6000fd5b50505050505050505050565b6000613699611d7e565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136e157600080fd5b505afa1580156136f5573d6000803e3d6000fd5b505050506040513d602081101561370b57600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b15801561375a57600080fd5b505afa15801561376e573d6000803e3d6000fd5b505050506040513d602081101561378457600080fd5b505190506137906117fe565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801561381557600080fd5b505af1158015613829573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b6000610c5f6d54726164696e675265776172647360901b612cf8565b60008215806138c9575081155b156138d6575060016106df565b6000838311156138f7576138f0838563ffffffff61420616565b905061390a565b613907848463ffffffff61420616565b90505b61391261272f565b11159392505050565b6139236143d0565b6000806000806000806000806139376117fe565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801561399d57600080fd5b505afa1580156139b1573d6000803e3d6000fd5b505050506040513d6101008110156139c857600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000613a43611d7e565b90506000613a4f6128d9565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015613ab957600080fd5b505afa158015613acd573d6000803e3d6000fd5b505050506040513d6020811015613ae357600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b158015613b5357600080fd5b505afa158015613b67573d6000803e3d6000fd5b505050506040513d6020811015613b7d57600080fd5b50519395939450505050565b60006106dc613c0e8373__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613bd657600080fd5b505af4158015613bea573d6000803e3d6000fd5b505050506040513d6020811015613c0057600080fd5b50519063ffffffff612dd516565b849063ffffffff61423016565b6000613c25614003565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613cc157600080fd5b505afa158015613cd5573d6000803e3d6000fd5b505050506040513d6020811015613ceb57600080fd5b505192915050565b600082613d02575060006106df565b82820282848281613d0f57fe5b04146106dc5760405162461bcd60e51b81526004018080602001828103825260218152602001806144c56021913960400191505060405180910390fd5b613d54611d6a565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613d9757600080fd5b505afa158015613dab573d6000803e3d6000fd5b505050506040513d6020811015613dc157600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b158015613e1557600080fd5b505af1158015613e29573d6000803e3d6000fd5b50505050613e35611878565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156128bc57600080fd5b613ea4611d6a565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613ee757600080fd5b505afa158015613efb573d6000803e3d6000fd5b505050506040513d6020811015613f1157600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b158015613f6557600080fd5b505af1158015613f79573d6000803e3d6000fd5b50505050613f85611878565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156128bc57600080fd5b6000610c5f6844656274436163686560b81b612cf8565b6000610c5f6e466c657869626c6553746f7261676560881b612cf8565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061406257fe5b60200260200101818152505090565b6000606960f81b6001600160f81b031983831a60f81b1614156140db576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b60006141236140e861425a565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e7468000000000081525061427e565b60025460408051638d7017d360e01b81526001600160a01b038a81166004830152928316602482015288831660448201526064810188905260848101879052905192935090831691638d7017d39160a48082019260009290919082900301818387803b15801561419257600080fd5b505af11580156141a6573d6000803e3d6000fd5b5050604080516001600160a01b038581168252602082018890528183018990529151828a169450918a1692507fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f919081900360600190a395945050505050565b60006106dc8261422485670de0b6b3a764000063ffffffff613cf316565b9063ffffffff6142f616565b6000670de0b6b3a764000061424b848463ffffffff613cf316565b8161425257fe5b049392505050565b6000610c5f755669727475616c53796e74684d6173746572636f707960501b612cf8565b6000606061428b84614360565b90506037602082016000f09150826001600160a01b0383166142ee5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612d9a578181015183820152602001612d82565b505092915050565b600080821161434c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161435757fe5b04949350505050565b60408051693d602d80600a3d3981f360b01b602082015269363d3d373d3d3d363d7360b01b602a82015260609290921b6bffffffffffffffffffffffff191660348301526e5af43d82803e903d91602b57fd5bf360881b6048830152805180830360370181526057909201905290565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820284bc3d8e51e796646b4abbec6caa5f031e1f14dca7daaaee5909dd39837d3af64736f6c63430005100032", + "bytecode": "60806040523480156200001157600080fd5b506040516200433938038062004339833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050505061420980620001306000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806353a47bb7116100de5780638925711711610097578063c193f0d811610071578063c193f0d8146104ea578063ce096940146104f2578063d6f32e0614610515578063f450aa34146105415761018e565b80638925711714610482578063899ffef41461048a5780638da5cb5b146104e25761018e565b806353a47bb71461042857806357af302c14610430578063614d08f81461044d578063741853601461045557806379ba50971461045d5780637dd1a57a146104655761018e565b80631b16802c1161014b578063372a395a11610125578063372a395a1461035d5780633fa70f45146103655780634c268fc81461036d5780634f8633d2146103a55761018e565b80631b16802c146102a757806324286df0146102d35780632af64bd3146103415761018e565b806304f3bcec14610193578063059c29ec146101b75780630b9e31c9146101f55780631627540c1461021457806319d5c6651461023a5780631a5c609514610284575b600080fd5b61019b61056a565b604080516001600160a01b039092168252519081900360200190f35b6101e3600480360360408110156101cd57600080fd5b506001600160a01b038135169060200135610579565b60408051918252519081900360200190f35b6102126004803603602081101561020b57600080fd5b503561061d565b005b6102126004803603602081101561022a57600080fd5b50356001600160a01b031661087c565b6102666004803603604081101561025057600080fd5b506001600160a01b0381351690602001356108d8565b60408051938452602084019290925282820152519081900360600190f35b6101e36004803603604081101561029a57600080fd5b50803590602001356108f6565b610266600480360360408110156102bd57600080fd5b506001600160a01b038135169060200135610902565b610212600480360360208110156102e957600080fd5b810190602081018135600160201b81111561030357600080fd5b82018360208201111561031557600080fd5b803590602001918460208302840111600160201b8311171561033657600080fd5b509092509050610983565b610349610b80565b604080519115158252519081900360200190f35b6101e3610c8b565b6101e3610c9a565b6101e36004803603608081101561038357600080fd5b506001600160a01b038135169060208101359060408101359060600135610c9f565b61040760048036036101208110156103bc57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013582169160c082013515159160e0810135909116906101000135610dbf565b604080519283526001600160a01b0390911660208301528051918290030190f35b61019b6110f8565b6103496004803603602081101561044657600080fd5b5035611107565b6101e3611160565b610212611170565b610212611338565b6101e36004803603602081101561047b57600080fd5b50356113f4565b6101e3611406565b610492611410565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104ce5781810151838201526020016104b6565b505050509050019250505060405180910390f35b61019b611485565b610349611494565b6102126004803603604081101561050857600080fd5b508035906020013561149e565b6103496004803603604081101561052b57600080fd5b506001600160a01b038135169060200135611566565b6102666004803603606081101561055757600080fd5b5080359060208101359060400135611598565b6002546001600160a01b031681565b60006106146105866115b8565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156105e357600080fd5b505afa1580156105f7573d6000803e3d6000fd5b505050506040513d602081101561060d57600080fd5b50516115d3565b90505b92915050565b610625611632565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561065d57600080fd5b505afa158015610671573d6000803e3d6000fd5b5050505060006001600160a01b031661068861164c565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156106cb57600080fd5b505afa1580156106df573d6000803e3d6000fd5b505050506040513d60208110156106f557600080fd5b50516001600160a01b03161415610743576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b6107c38161074f611660565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561079257600080fd5b505afa1580156107a6573d6000803e3d6000fd5b505050506040513d60208110156107bc57600080fd5b505161167b565b61080b576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b610813611632565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561086157600080fd5b505af1158015610875573d6000803e3d6000fd5b5050505050565b6108846118c7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008060006108e78585611912565b50919790965090945092505050565b60006106148383611be0565b600080600061090f611632565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b5050505061097685856001611c9e565b9250925092509250925092565b61098b6118c7565b60606000610997611660565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610a4657600080fd5b8101908080516040519392919084600160201b821115610a6557600080fd5b908301906020820185811115610a7a57600080fd5b82518660208202830111600160201b82111715610a9657600080fd5b82525081516020918201928201910280838360005b83811015610ac3578181015183820152602001610aab565b505050509190910160405250602001519294509192505081159050610b2f576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b8381101561087557828181518110610b4657fe5b602002602001015160046000878785818110610b5e57fe5b6020908102929092013583525081019190915260400160002055600101610b32565b60006060610b8c611410565b905060005b8151811015610c81576000828281518110610ba857fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610c1057600080fd5b505afa158015610c24573d6000803e3d6000fd5b505050506040513d6020811015610c3a57600080fd5b50516001600160a01b0316141580610c6757506000818152600360205260409020546001600160a01b0316155b15610c785760009350505050610c88565b50600101610b91565b5060019150505b90565b6000610c9561200d565b905090565b604181565b816000610caa61164c565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ced57600080fd5b505afa158015610d01573d6000803e3d6000fd5b505050506040513d6020811015610d1757600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d6357600080fd5b505afa158015610d77573d6000803e3d6000fd5b505050506040513d6020811015610d8d57600080fd5b5051905080821115610d9d578091505b8215610db657610db3828463ffffffff6120c416565b91505b50949350505050565b6000806000610dcc61211e565b9050336001600160a01b0382161480610e595750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610e2a57600080fd5b505afa158015610e3e573d6000803e3d6000fd5b505050506040513d6020811015610e5457600080fd5b505114155b610e945760405162461bcd60e51b81526004018080602001828103825260458152602001806140fb6045913960600191505060405180910390fd5b60008c6001600160a01b03168c6001600160a01b031614610fa357610eb7612135565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b158015610f2657600080fd5b505afa158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b5051610fa3576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b610fb18d8c8c8c8c8c612154565b91955090935090508015801590610fd057506001600160a01b03861615155b8015610fdf5750610fdf612566565b1561106457610fec6125e4565b6001600160a01b03166321cad77482886040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b505050505b84156110e85761107261211e565b6001600160a01b0316632d3169eb868b87856040518563ffffffff1660e01b815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156110cf57600080fd5b505af11580156110e3573d6000803e3d6000fd5b505050505b5050995099975050505050505050565b6001546001600160a01b031681565b600061115882611115611660565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561079257600080fd5b90505b919050565b6822bc31b430b733b2b960b91b81565b606061117a611410565b905060005b815181101561133457600082828151811061119657fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561124c578181015183820152602001611234565b50505050905090810190601f1680156112795780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d60208110156112c157600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010161117f565b5050565b6001546001600160a01b031633146113815760405162461bcd60e51b81526004018080602001828103825260358152602001806140c66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b6000610c95612600565b60608061141b61267a565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b8160008151811061146857fe5b60200260200101818152505061147e828261280b565b9250505090565b6000546001600160a01b031681565b6000610c95612566565b60006114a8611660565b9050336001600160a01b03821614611507576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b60008211611553576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b60006115728383610579565b1561157f57506001610617565b600061158b8484611912565b5050501515949350505050565b60008060006115a88686866128c7565b5092999198509650945050505050565b6000610c956c45786368616e6765537461746560981b6129a1565b6000806115de612600565b90508215806115fc57506115f8838263ffffffff6120c416565b4210155b1561160b57600091505061115b565b61162b4261161f858463ffffffff6120c416565b9063ffffffff612a7e16565b9392505050565b6000610c956b53797374656d53746174757360a01b6129a1565b6000610c956524b9b9bab2b960d11b6129a1565b6000610c956c45786368616e6765526174657360981b6129a1565b60008161168a57506001610617565b60008381526004602052604090205480156116b1576116a98184612adb565b915050610617565b60606116bb611660565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561170757600080fd5b505afa15801561171b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561174457600080fd5b8101908080516040519392919084600160201b82111561176357600080fd5b90830190602082018581111561177857600080fd5b82518660208202830111600160201b8211171561179457600080fd5b82525081516020918201928201910280838360005b838110156117c15781810151838201526020016117a9565b5050505090500160405260200180516040519392919084600160201b8211156117e957600080fd5b9083019060208201858111156117fe57600080fd5b82518660208202830111600160201b8211171561181a57600080fd5b82525081516020918201928201910280838360005b8381101561184757818101518382015260200161182f565b505050509050016040525050505090506000600190505b81518110156118bb57600082828151811061187557fe5b60200260200101511180156118a257506118a282828151811061189457fe5b602002602001015186612adb565b156118b35760019350505050610617565b60010161185e565b50600095945050505050565b6000546001600160a01b031633146119105760405162461bcd60e51b815260040180806020018281038252602f815260200180614140602f913960400191505060405180910390fd5b565b600080600060606119216115b8565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561197e57600080fd5b505afa158015611992573d6000803e3d6000fd5b505050506040513d60208110156119a857600080fd5b50516040805182815260208084028201019091529092506060908380156119e957816020015b6119d661407a565b8152602001906001900390816119ce5790505b50905060005b83811015611bd457600080611a0261407a565b611a0d8b8b86612b3a565b9050600080611a1b83612c55565b915091506000611a29611660565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611a9857600080fd5b505afa158015611aac573d6000803e3d6000fd5b505050506040513d6020811015611ac257600080fd5b50516080850151909150600090611ada908390612da8565b9050611aea856060015182612adb565b611b5f578085606001511115611b28576060850151611b0f908263ffffffff612a7e16565b9650611b218d8863ffffffff6120c416565b9c50611b5f565b8460600151811115611b5f576060850151611b4a90829063ffffffff612a7e16565b9550611b5c8c8763ffffffff6120c416565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151815250898981518110611bb557fe5b60200260200101819052505050505050505080806001019150506119ef565b50905092959194509250565b6000611beb82612e3a565b9050631cd554d160e21b831480611c085750631cd554d160e21b82145b15611c1257610617565b607360f81b6001600160f81b0319600085901a60f81b16148015611c4a5750606960f81b6001600160f81b0319600084901a60f81b16145b80611c885750606960f81b6001600160f81b0319600085901a60f81b16148015611c885750607360f81b6001600160f81b0319600084901a60f81b16145b156106175761061481600263ffffffff612f1216565b6000806000611cad8686610579565b15611ce95760405162461bcd60e51b81526004018080602001828103825260238152602001806141b26023913960400191505060405180910390fd5b60008060006060611cfa8a8a611912565b935093509350935082841115611d2c57611d1a848463ffffffff612a7e16565b9650611d278a8a89612f6b565b611d51565b83831115611d5157611d44838563ffffffff612a7e16565b9550611d518a8a886130d8565b8715611e3857604080516001808252818301909252606091602080830190803883390190505090508981600081518110611d8757fe5b602002602001018181525050611d9b613228565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611df9578181015183820152602001611de1565b5050505090500192505050600060405180830381600087803b158015611e1e57600080fd5b505af1158015611e32573d6000803e3d6000fd5b50505050505b60005b8151811015611f7d578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110611e7b57fe5b602002602001015160000151848481518110611e9357fe5b602002602001015160200151858581518110611eab57fe5b602002602001015160400151868681518110611ec357fe5b602002602001015160600151878781518110611edb57fe5b602002602001015160800151888881518110611ef357fe5b602002602001015160a00151898981518110611f0b57fe5b602002602001015160c001518a8a81518110611f2357fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101611e3b565b50819450611f896115b8565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611fe857600080fd5b505af1158015611ffc573d6000803e3d6000fd5b505050505050505093509350939050565b600061201761323f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561209357600080fd5b505afa1580156120a7573d6000803e3d6000fd5b505050506040513d60208110156120bd57600080fd5b5051905090565b600082820183811015610614576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c95680a6f2dce8d0cae8d2f60bb1b6129a1565b6000610c957044656c6567617465417070726f76616c7360781b6129a1565b600080600061216488888861325c565b6000612171888b8b613435565b90508061218857506000925082915081905061255a565b6000806000612198848d8c6128c7565b939a509198509450925090506121ae8c8361346d565b806121be57506121be8a8261346d565b156121d757506000955085945084935061255a92505050565b6121e68c8e868d8b8e8e613508565b94506001600160a01b038516156121fb578498505b851561245457612209611660565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561226357600080fd5b505afa158015612277573d6000803e3d6000fd5b505050506040513d602081101561228d57600080fd5b5051955061229961164c565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156122e357600080fd5b505afa1580156122f7573d6000803e3d6000fd5b505050506040513d602081101561230d57600080fd5b50516001600160a01b031663867904b46123256137e6565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561235d57600080fd5b505afa158015612371573d6000803e3d6000fd5b505050506040513d602081101561238757600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b1580156123d657600080fd5b505af11580156123ea573d6000803e3d6000fd5b505050506123f66137e6565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561243b57600080fd5b505af115801561244f573d6000803e3d6000fd5b505050505b61248660405180604001604052808e81526020018c8152506040518060400160405280858152602001848152506137fb565b61248e61211e565b6001600160a01b0316636c00f3108e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561251f57600080fd5b505af1158015612533573d6000803e3d6000fd5b505050506000612541612600565b111561255557612555898d868d8b88613ab9565b505050505b96509650969350505050565b600061257061323f565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561209357600080fd5b6000610c956d54726164696e675265776172647360901b6129a1565b600061260a61323f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561209357600080fd5b606080612685613cca565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b816000815181106126cb57fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106126f557fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061271f57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061274557fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061276957fe5b6020026020010181815250506d54726164696e675265776172647360901b8160058151811061279457fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816006815181106127c257fe5b6020026020010181815250506524b9b9bab2b960d11b816007815181106127e557fe5b6020026020010181815250506844656274436163686560b81b8160088151811061146857fe5b6060815183510160405190808252806020026020018201604052801561283b578160200160208202803883390190505b50905060005b835181101561287d5783818151811061285657fe5b602002602001015182828151811061286a57fe5b6020908102919091010152600101612841565b5060005b82518110156128c05782818151811061289657fe5b60200260200101518282865101815181106128ad57fe5b6020908102919091010152600101612881565b5092915050565b6000806000806000806128d8611660565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801561292b57600080fd5b505afa15801561293f573d6000803e3d6000fd5b505050506040513d606081101561295557600080fd5b508051602082015160409092015191945090925090506129758888611be0565b93506129818185612da8565b9550612993818763ffffffff612a7e16565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816128c05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a43578181015183820152602001612a2b565b50505050905090810190601f168015612a705780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082821115612ad5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000821580612ae8575081155b15612af557506001610617565b600083831115612b1657612b0f838563ffffffff613d1b16565b9050612b29565b612b26848463ffffffff613d1b16565b90505b612b3161200d565b11159392505050565b612b4261407a565b600080600080600080600080612b566115b8565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b158015612bbc57600080fd5b505afa158015612bd0573d6000803e3d6000fd5b505050506040513d610100811015612be757600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000612c62611660565b90506000612c6e612600565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015612cd857600080fd5b505afa158015612cec573d6000803e3d6000fd5b505050506040513d6020811015612d0257600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b158015612d7257600080fd5b505afa158015612d86573d6000803e3d6000fd5b505050506040513d6020811015612d9c57600080fd5b50519395939450505050565b6000610614612e2d8373__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612df557600080fd5b505af4158015612e09573d6000803e3d6000fd5b505050506040513d6020811015612e1f57600080fd5b50519063ffffffff612a7e16565b849063ffffffff613d4516565b6000612e4461323f565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee057600080fd5b505afa158015612ef4573d6000803e3d6000fd5b505050506040513d6020811015612f0a57600080fd5b505192915050565b600082612f2157506000610617565b82820282848281612f2e57fe5b04146106145760405162461bcd60e51b815260040180806020018281038252602181526020018061416f6021913960400191505060405180910390fd5b612f7361164c565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612fb657600080fd5b505afa158015612fca573d6000803e3d6000fd5b505050506040513d6020811015612fe057600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561303457600080fd5b505af1158015613048573d6000803e3d6000fd5b5050505061305461211e565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156130bb57600080fd5b505af11580156130cf573d6000803e3d6000fd5b50505050505050565b6130e061164c565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561312357600080fd5b505afa158015613137573d6000803e3d6000fd5b505050506040513d602081101561314d57600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b1580156131a157600080fd5b505af11580156131b5573d6000803e3d6000fd5b505050506131c161211e565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156130bb57600080fd5b6000610c956844656274436163686560b81b6129a1565b6000610c956e466c657869626c6553746f7261676560881b6129a1565b808314156132a7576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b600082116132ea576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050838160008151811061331857fe5b602002602001018181525050818160018151811061333257fe5b602002602001018181525050613346611660565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156133a457818101518382015260200161338c565b505050509050019250505060206040518083038186803b1580156133c757600080fd5b505afa1580156133db573d6000803e3d6000fd5b505050506040513d60208110156133f157600080fd5b50511561342f5760405162461bcd60e51b81526004018080602001828103825260228152602001806141906022913960400191505060405180910390fd5b50505050565b600080600061344685856000611c9e565b88955090935091505080156134645761346185858885610c9f565b92505b50509392505050565b6000613479838361167b565b156134f557613486611632565b6001600160a01b031663abc0bb6e8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156134d457600080fd5b505af11580156134e8573d6000803e3d6000fd5b5050505060019050610617565b6000928352600460205260409092205590565b600061351261164c565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561355557600080fd5b505afa158015613569573d6000803e3d6000fd5b505050506040513d602081101561357f57600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156135d357600080fd5b505af11580156135e7573d6000803e3d6000fd5b5050505060006135f561164c565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561363857600080fd5b505afa15801561364c573d6000803e3d6000fd5b505050506040513d602081101561366257600080fd5b5051905082156137615760008190506136e1816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156136ad57600080fd5b505afa1580156136c1573d6000803e3d6000fd5b505050506040513d60208110156136d757600080fd5b505186888a613d6f565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561374357600080fd5b505af1158015613757573d6000803e3d6000fd5b50505050506137da565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156137c157600080fd5b505af11580156137d5573d6000803e3d6000fd5b505050505b50979650505050505050565b6000610c9566119959541bdbdb60ca1b6129a1565b8151600090631cd554d160e21b148061381e57506020830151631cd554d160e21b145b905060008161382e576003613831565b60025b60ff169050606081604051908082528060200260200182016040528015613862578160200160208202803883390190505b50905084600060200201518160008151811061387a57fe5b602090810291909101015284600160200201518160018151811061389a57fe5b6020026020010181815250506060826040519080825280602002602001820160405280156138d2578160200160208202803883390190505b5090508460006020020151816000815181106138ea57fe5b602090810291909101015284600160200201518160018151811061390a57fe5b602002602001018181525050836139c857631cd554d160e21b8260028151811061393057fe5b60200260200101818152505073__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561398057600080fd5b505af4158015613994573d6000803e3d6000fd5b505050506040513d60208110156139aa57600080fd5b50518151829060029081106139bb57fe5b6020026020010181815250505b6139d0613228565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a33578181015183820152602001613a1b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613a72578181015183820152602001613a5a565b50505050905001945050505050600060405180830381600087803b158015613a9957600080fd5b505af1158015613aad573d6000803e3d6000fd5b50505050505050505050565b6000613ac3611660565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613b0b57600080fd5b505afa158015613b1f573d6000803e3d6000fd5b505050506040513d6020811015613b3557600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015613b8457600080fd5b505afa158015613b98573d6000803e3d6000fd5b505050506040513d6020811015613bae57600080fd5b50519050613bba6115b8565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b158015613c3f57600080fd5b505af1158015613c53573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110613d0c57fe5b60200260200101818152505090565b600061061482613d3985670de0b6b3a764000063ffffffff612f1216565b9063ffffffff613f0416565b6000670de0b6b3a7640000613d60848463ffffffff612f1216565b81613d6757fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b161415613dd9576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b6000613e21613de6613f6e565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250613f92565b60025460408051638d7017d360e01b81526001600160a01b038a81166004830152928316602482015288831660448201526064810188905260848101879052905192935090831691638d7017d39160a48082019260009290919082900301818387803b158015613e9057600080fd5b505af1158015613ea4573d6000803e3d6000fd5b5050604080516001600160a01b038581168252602082018890528183018990529151828a169450918a1692507fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f919081900360600190a395945050505050565b6000808211613f5a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613f6557fe5b04949350505050565b6000610c95755669727475616c53796e74684d6173746572636f707960501b6129a1565b60006060613f9f8461400a565b90506037602082016000f09150826001600160a01b0383166140025760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612a43578181015183820152602001612a2b565b505092915050565b60408051693d602d80600a3d3981f360b01b602082015269363d3d373d3d3d363d7360b01b602a82015260609290921b6bffffffffffffffffffffffff191660348301526e5af43d82803e903d91602b57fd5bf360881b6048830152805180830360370181526057909201905290565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820daf1fba6bb678e94949148fae34c94d0474d4230cf017c79a57cfd8f54d68db164736f6c63430005100032", "abi": [ { "inputs": [ @@ -29082,6 +29167,22 @@ "type": "function", "signature": "0x3fa70f45" }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x614d08f8" + }, { "constant": false, "inputs": [], @@ -29129,90 +29230,6 @@ "type": "function", "signature": "0x4c268fc8" }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "destinationAddress", - "type": "address" - } - ], - "name": "exchange", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x0a1e187d" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "exchangeForAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "exchangeOnBehalf", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x6a1c4758" - }, { "constant": false, "inputs": [ @@ -29221,53 +29238,6 @@ "name": "exchangeForAddress", "type": "address" }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "originator", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - } - ], - "name": "exchangeOnBehalfWithTracking", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xdfffca76" - }, - { - "constant": false, - "inputs": [ { "internalType": "address", "name": "from", @@ -29294,55 +29264,13 @@ "type": "address" }, { - "internalType": "address", - "name": "originator", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - } - ], - "name": "exchangeWithTracking", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x86baa45c" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" + "internalType": "bool", + "name": "virtualSynth", + "type": "bool" }, { "internalType": "address", - "name": "destinationAddress", + "name": "rewardAddress", "type": "address" }, { @@ -29351,7 +29279,7 @@ "type": "bytes32" } ], - "name": "exchangeWithVirtual", + "name": "exchange", "outputs": [ { "internalType": "uint256", @@ -29367,7 +29295,7 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf3995224" + "signature": "0x4f8633d2" }, { "constant": true, @@ -29626,6 +29554,22 @@ "type": "function", "signature": "0x74185360" }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "resetLastExchangeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x24286df0" + }, { "constant": true, "inputs": [], @@ -29803,10 +29747,10 @@ } ], "source": { - "keccak256": "0x207bf8d21a4651525f8c2b0d90885d64a4c5f51c06ac5c20d842438a8950c5b9", + "keccak256": "0x9007ad2f17c461a4cbc1532752b486825861822644e4f9b3e35382a7940d4acf", "urls": [ - "bzz-raw://f80eb665c9ae9f18f0dfe918f9a29277135256240a8374b420e981d081aec926", - "dweb:/ipfs/QmczZS4x9D8cWTP3bBT6pCSfixxVXwL5kaSwmxJCYwPvvx" + "bzz-raw://2dd4cec56d9c60f87c39e1edad18f8e14d75d60523b7e655996427e81eb54470", + "dweb:/ipfs/Qmd9oEnP3ghhQqijSGYwEQKftu5XzVRjSUkLkJu7oYtHhY" ] }, "metadata": { @@ -29828,10 +29772,10 @@ }, "sources": { "ExchangerWithVirtualSynth.sol": { - "keccak256": "0x207bf8d21a4651525f8c2b0d90885d64a4c5f51c06ac5c20d842438a8950c5b9", + "keccak256": "0x9007ad2f17c461a4cbc1532752b486825861822644e4f9b3e35382a7940d4acf", "urls": [ - "bzz-raw://f80eb665c9ae9f18f0dfe918f9a29277135256240a8374b420e981d081aec926", - "dweb:/ipfs/QmczZS4x9D8cWTP3bBT6pCSfixxVXwL5kaSwmxJCYwPvvx" + "bzz-raw://2dd4cec56d9c60f87c39e1edad18f8e14d75d60523b7e655996427e81eb54470", + "dweb:/ipfs/Qmd9oEnP3ghhQqijSGYwEQKftu5XzVRjSUkLkJu7oYtHhY" ] } },