[ { "inputs": [ { "internalType": "address", "name": "_troveManagerAddress", "type": "address" }, { "internalType": "address", "name": "_stabilityPoolAddress", "type": "address" }, { "internalType": "address", "name": "_borrowerOperationsAddress", "type": "address" }, { "internalType": "address", "name": "_governanceAddress", "type": "address" }, { "internalType": "address", "name": "_guardianAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_newBorrowerOperationsAddress", "type": "address" } ], "name": "BorrowerOperationsAddressChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_governanceAddress", "type": "address" } ], "name": "GovernanceAddressChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_guardianAddress", "type": "address" } ], "name": "GuardianAddressChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "LUSDTokenBalanceUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_newStabilityPoolAddress", "type": "address" } ], "name": "StabilityPoolAddressChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_troveManagerAddress", "type": "address" } ], "name": "TroveManagerAddressChanged", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "borrowerOperations", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "borrowerOperationsAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "domainSeparator", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDeploymentStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "governanceAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "guardianAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintingPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pauseMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "permitTypeHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_poolAddress", "type": "address" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "returnFromPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_poolAddress", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "sendToPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stabilityPoolAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "stabilityPools", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "troveManagerAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "troveManagers", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unpauseMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newGovernanceAddress", "type": "address" } ], "name": "updateGovernance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newGuardianAddress", "type": "address" } ], "name": "updateGuardian", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newTroveManagerAddress", "type": "address" }, { "internalType": "address", "name": "_newStabilityPoolAddress", "type": "address" }, { "internalType": "address", "name": "_newBorrowerOperationsAddress", "type": "address" } ], "name": "upgradeProtocol", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
6101206040526001805460ff191690553480156200001c57600080fd5b5060405162001fdd38038062001fdd833981810160405260a08110156200004257600080fd5b5080516020820151604083015160608401516080909401519293919290919062000075856001600160e01b036200039016565b62000089846001600160e01b036200039016565b6200009d836001600160e01b036200039016565b620000b1826001600160e01b036200039016565b620000c5816001600160e01b036200039016565b600880546001600160a01b0319166001600160a01b038716908117909155600081815260056020908152604091829020805460ff19166001179055815192835290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789281900390910190a1600980546001600160a01b0319166001600160a01b038616908117909155600081815260066020908152604091829020805460ff19166001179055815192835290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9281900390910190a1600a80546001600160a01b0319166001600160a01b038516908117909155600081815260076020908152604091829020805460ff19166001179055815192835290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859281900390910190a1600b80546001600160a01b0384166001600160a01b0319909116811790915560408051918252517fa29a633a0eef2d1151c7c3b24a4f75c7c7a3b8a7eee6b54f75b7b168f1c87fec9181900360200190a1600c80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ff0ec871fc9fea2efa0febe6a5edbe4ffb7c4b3460cd48ca56833fb544595ce8c9181900360200190a1604080518082018252600c81526b105d5c995b1a5d5cc81554d160a21b602091820152815180830190925260018252603160f81b9101527fbd7047df104f36832583f64b71b08ea28319082e6e59fc5eb30d505f2877974860c08190527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660e0819052620003416001600160e01b036200044516565b60a0526200037a7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83836001600160e01b036200044916565b6080525050426101005250620004aa9350505050565b6001600160a01b038116620003ec576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b8062000441576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b4690565b6000838383620004616001600160e01b036200044516565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60805160a05160c05160e05161010051611af3620004ea60003980610865525080610e0a525080610de9525080610d6f525080610d9f5250611af36000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c8063795053d311610125578063bb997bac116100ad578063dd62ed3e1161007c578063dd62ed3e14610647578063e1a283d614610675578063f698da251461067d578063fc52539514610685578063fc72092f146106ab5761021c565b8063bb997bac14610592578063c0b94e9f146105c8578063d505accf146105ee578063da8fbf2a1461063f5761021c565b8063a457c2d7116100f4578063a457c2d714610504578063a9059cbb14610530578063ae2003221461055c578063b256126314610564578063b7f8cf9b1461058a5761021c565b8063795053d3146104a25780637ecebe00146104aa57806395d89b41146104d05780639dc29fac146104d85761021c565b8063313ce567116101a857806340c10f191161017757806340c10f191461043857806342e444181461046457806354fd4d501461046c5780635a4d28bb1461047457806370a082311461047c5761021c565b8063313ce567146103de5780633644e515146103fc57806339509351146104045780633c84b7c2146104305761021c565b8063122540cb116101ef578063122540cb1461031c57806316d556d01461034257806318160ddd1461036857806320c582be1461037057806323b872dd146103a85761021c565b806306fdde0314610221578063095ea7b31461029e5780630b622ab2146102de57806310ce43bd14610302575b600080fd5b6102296106e3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026357818101518382015260200161024b565b50505050905090810190601f1680156102905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ca600480360360408110156102b457600080fd5b506001600160a01b03813516906020013561070a565b604080519115158252519081900360200190f35b6102e6610720565b604080516001600160a01b039092168252519081900360200190f35b61030a61072f565b60408051918252519081900360200190f35b6102ca6004803603602081101561033257600080fd5b50356001600160a01b0316610753565b6102ca6004803603602081101561035857600080fd5b50356001600160a01b0316610768565b61030a61077d565b6103a66004803603606081101561038657600080fd5b506001600160a01b03813581169160208101359091169060400135610783565b005b6102ca600480360360608110156103be57600080fd5b506001600160a01b0381358116916020810135909116906040013561079b565b6103e6610813565b6040805160ff9092168252519081900360200190f35b61030a610818565b6102ca6004803603604081101561041a57600080fd5b506001600160a01b038135169060200135610827565b61030a610863565b6103a66004803603604081101561044e57600080fd5b506001600160a01b038135169060200135610887565b6102e66108a5565b6102296108b4565b6102e66108cf565b61030a6004803603602081101561049257600080fd5b50356001600160a01b03166108de565b6102e66108f9565b61030a600480360360208110156104c057600080fd5b50356001600160a01b0316610908565b610229610923565b6103a6600480360360408110156104ee57600080fd5b506001600160a01b038135169060200135610941565b6102ca6004803603604081101561051a57600080fd5b506001600160a01b038135169060200135610953565b6102ca6004803603604081101561054657600080fd5b506001600160a01b0381351690602001356109a8565b6103a66109be565b6103a66004803603602081101561057a57600080fd5b50356001600160a01b03166109d2565b6102e6610a37565b6103a6600480360360608110156105a857600080fd5b506001600160a01b03813581169160208101359091169060400135610a46565b6102ca600480360360208110156105de57600080fd5b50356001600160a01b0316610a4e565b6103a6600480360360e081101561060457600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610a63565b6103a6610ccb565b61030a6004803603604081101561065d57600080fd5b506001600160a01b0381358116916020013516610d37565b6102ca610d62565b61030a610d6b565b6103a66004803603602081101561069b57600080fd5b50356001600160a01b0316610e35565b6103a6600480360360608110156106c157600080fd5b506001600160a01b038135811691602081013582169160409091013516610e9a565b60408051808201909152600c81526b105d5c995b1a5d5cc81554d160a21b60208201525b90565b6000610717338484611006565b50600192915050565b6009546001600160a01b031681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990565b60066020526000908152604090205460ff1681565b60056020526000908152604090205460ff1681565b60005490565b61078b611088565b6107968383836110f2565b505050565b60006107a6836111e6565b6107b18484846110f2565b61080984336108048560405180606001604052806028815260200161199c602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919063ffffffff6112e716565b611006565b5060019392505050565b601290565b6000610822610d6b565b905090565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610717918590610804908663ffffffff61137e16565b7f000000000000000000000000000000000000000000000000000000000000000090565b61088f6113df565b610897611421565b6108a1828261146a565b5050565b600c546001600160a01b031681565b6040805180820190915260018152603160f81b602082015290565b6008546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b600b546001600160a01b031681565b6001600160a01b031660009081526002602052604090205490565b604080518082019091526004815263185554d160e21b602082015290565b610949611510565b6108a18282611592565b6000610717338461080485604051806060016040528060258152602001611a45602591393360009081526004602090815260408083206001600160a01b038d168452909152902054919063ffffffff6112e716565b60006109b3836111e6565b6107173384846110f2565b6109c661165a565b6001805460ff19169055565b6109da61165a565b6109e3816116a3565b600b80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fa29a633a0eef2d1151c7c3b24a4f75c7c7a3b8a7eee6b54f75b7b168f1c87fec9181900360200190a150565b600a546001600160a01b031681565b61078b611752565b60076020526000908152604090205460ff1681565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0811115610ad0576040805162461bcd60e51b81526020600482015260156024820152744c5553443a20496e76616c696420732076616c756560581b604482015290519081900360640190fd5b42841015610b1e576040805162461bcd60e51b81526020600482015260166024820152754c5553443a206578706972656420646561646c696e6560501b604482015290519081900360640190fd5b6000610b28610d6b565b6001600160a01b03808a1660008181526002602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa158015610c43573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610cb5576040805162461bcd60e51b815260206004820152601760248201527f4c5553443a20696e76616c6964207369676e6174757265000000000000000000604482015290519081900360640190fd5b610cc0898989611006565b505050505050505050565b600c546001600160a01b0316331480610cee5750600b546001600160a01b031633145b610d295760405162461bcd60e51b815260040180806020018281038252602a815260200180611a1b602a913960400191505060405180910390fd5b6001805460ff191681179055565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60015460ff1681565b60007f0000000000000000000000000000000000000000000000000000000000000000610d9661179b565b1415610dc357507f0000000000000000000000000000000000000000000000000000000000000000610707565b610e2e7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179f565b9050610707565b610e3d61165a565b610e46816116a3565b600c80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ff0ec871fc9fea2efa0febe6a5edbe4ffb7c4b3460cd48ca56833fb544595ce8c9181900360200190a150565b610ea261165a565b610eab836116a3565b610eb4826116a3565b610ebd816116a3565b600880546001600160a01b0319166001600160a01b038516908117909155600081815260056020908152604091829020805460ff19166001179055815192835290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789281900390910190a1600980546001600160a01b0319166001600160a01b038416908117909155600081815260066020908152604091829020805460ff19166001179055815192835290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9281900390910190a1600a80546001600160a01b0319166001600160a01b038316908117909155600081815260076020908152604091829020805460ff19166001179055815192835290517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed9859281900390910190a1505050565b6001600160a01b03831661101657fe5b6001600160a01b03821661102657fe5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b3360009081526005602052604090205460ff16806110b557503360009081526006602052604090205460ff165b6110f05760405162461bcd60e51b81526004018080602001828103825260368152602001806118386036913960400191505060405180910390fd5b565b6001600160a01b03831661110257fe5b6001600160a01b03821661111257fe5b61115581604051806060016040528060268152602001611890602691396001600160a01b038616600090815260036020526040902054919063ffffffff6112e716565b6001600160a01b03808516600090815260036020526040808220939093559084168152205461118a908263ffffffff61137e16565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b0381161580159061120757506001600160a01b0381163014155b6112425760405162461bcd60e51b8152600401808060200182810382526054815260200180611a6a6054913960600191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff1615801561128457506001600160a01b03811660009081526005602052604090205460ff16155b80156112a957506001600160a01b03811660009081526007602052604090205460ff16155b6112e45760405162461bcd60e51b81526004018080602001828103825260578152602001806119c46057913960600191505060405180910390fd5b50565b600081848411156113765760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561133b578181015183820152602001611323565b50505050905090810190601f1680156113685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156113d8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60015460ff16156110f05760405162461bcd60e51b81526004018080602001828103825260268152602001806119036026913960400191505060405180910390fd5b600a546001600160a01b031633146110f05760405162461bcd60e51b815260040180806020018281038252602b815260200180611971602b913960400191505060405180910390fd5b6001600160a01b03821661147a57fe5b60005461148d908263ffffffff61137e16565b60009081556001600160a01b0383168152600360205260409020546114b8908263ffffffff61137e16565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3360009081526005602052604090205460ff168061153d57503360009081526006602052604090205460ff165b8061155757503360009081526007602052604090205460ff165b6110f05760405162461bcd60e51b815260040180806020018281038252604d8152602001806118b6604d913960600191505060405180910390fd5b6001600160a01b0382166115a257fe5b6115e58160405180606001604052806022815260200161186e602291396001600160a01b038516600090815260036020526040902054919063ffffffff6112e716565b6001600160a01b03831660009081526003602052604081209190915554611612908263ffffffff6117f516565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b600b546001600160a01b031633146110f05760405162461bcd60e51b815260040180806020018281038252602381526020018061194e6023913960400191505060405180910390fd5b6001600160a01b0381166116fe576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806108a1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b6009546001600160a01b031633146110f05760405162461bcd60e51b81526004018080602001828103825260258152602001806119296025913960400191505060405180910390fd5b4690565b60008383836117ac61179b565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b60006113d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e756fe4c5553443a2043616c6c6572206973206e6569746865722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654c5553443a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c4c555344546f6b656e3a204d696e74696e672069732063757272656e746c79207061757365644c5553443a2043616c6c6572206973206e6f74207468652053746162696c697479506f6f6c4c555344546f6b656e3a2043616c6c6572206973206e6f7420476f7665726e616e63654c555344546f6b656e3a2043616c6c6572206973206e6f7420426f72726f7765724f7065726174696f6e7345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f207468652053746162696c697479506f6f6c2c2054726f76654d616e61676572206f7220426f72726f7765724f70734c5553443a2043616c6c6572206973206e6f7420677561726469616e206f7220676f7665726e616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4c5553443a2043616e6e6f74207472616e7366657220746f6b656e73206469726563746c7920746f20746865204c55534420746f6b656e20636f6e7472616374206f7220746865207a65726f2061646472657373a26469706673582212209eaebc9a3a047a2fc779f5fb645d644f7655826c00bb8aa304f27bd03644c37664736f6c634300060b0033000000000000000000000000295c6074f090f85819cbc911266522e43a8e0f4a000000000000000000000000aa38a75bff218adeebcba75b03370fc6aabcb98b0000000000000000000000004cd23f2c694f991029b85af5575d0b5e70e4a3f10000000000000000000000000dfedcef9519b24f4de5d3275804aaff5a41705f0000000000000000000000006bdbdca65d3a2e353798fa7a16eeb54974a51848