0 txs
0 calls
constructor
constructor()
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
AUCTIONEER
viewfunction AUCTIONEER() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
estimateOusdReturnedOnUnwindMinusInterest
viewfunction estimateOusdReturnedOnUnwindMinusInterest(uint256 amountOUSD, uint256 minRequiredLvUSD) view returns (uint256)
EXECUTIVE_ROLE
viewfunction EXECUTIVE_ROLE() view returns (bytes32)
getAddressExecutive
viewfunction getAddressExecutive() view returns (address)
getAddressGovernor
viewfunction getAddressGovernor() view returns (address)
getAddressGuardian
viewfunction getAddressGuardian() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
GOVERNOR_ROLE
viewfunction GOVERNOR_ROLE() view returns (bytes32)
GUARDIAN_ROLE
viewfunction GUARDIAN_ROLE() view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
acceptAdminRole
nonpayablefunction acceptAdminRole()
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAdmin
nonpayablefunction setAdmin(address newAdmin)
setAuctioneer
nonpayablefunction setAuctioneer(address newAuctioneer)
setDependencies
nonpayablefunction setDependencies(address addressParameterStore, address addressCoordinator, address addressLvUSD, address addressOUSD, address address3CRV, address addressPoolLvUSD3CRV, address addressPoolOUSD3CRV)
setExecutive
nonpayablefunction setExecutive(address newExecutive)
setGovernor
nonpayablefunction setGovernor(address newGovernor)
setGuardian
nonpayablefunction setGuardian(address newGuardian)
swapLvUSDforOUSD
nonpayablefunction swapLvUSDforOUSD(uint256 amountLvUSD) returns (uint256 amountOUSD)
swapOUSDforLvUSD
nonpayablefunction swapOUSDforLvUSD(uint256 amountOUSD, uint256 minRequiredLvUSD) returns (uint256 lvUSDReturned, uint256 remainingOUSD)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e8565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e6576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516140746200012060003960008181610fc10152818161100101528181611186015281816111c6015261125501526140746000f3fe6080604052600436106101c15760003560e01c80636140a402116100f7578063a217fddf11610095578063cfe4bd0311610064578063cfe4bd0314610589578063d547741f146105a7578063df8a5417146105c7578063f6c34986146105e5576101c1565b8063a217fddf146104fe578063aecf62f014610513578063c42cf53514610535578063ccc5749014610555576101c1565b80638129fc1c116100d15780638129fc1c146104945780638a0dac4a146104a95780638c3d7301146104c957806391d14854146104de576101c1565b80636140a40214610420578063704b6c021461045257806375b238fc14610472576101c1565b806324ea54f4116101645780633659cfe61161013e5780633659cfe6146103b85780634b662b5a146103d85780634f1ef286146103f857806352d1902d1461040b576101c1565b806324ea54f4146103445780632f2ff15d1461037857806336568abe14610398576101c1565b80630f630df9116101a05780630f630df9146102a057806314d94d31146102c057806323e507f7146102e0578063248a9ca314610314576101c1565b8062ede7e41461021b57806301ffc9a71461023d5780630614fa5f14610272575b3480156101cd57600080fd5b5060405162461bcd60e51b815260206004820152601a60248201527f45786368616e676572203a20496e76616c69642061636365737300000000000060448201526064015b60405180910390fd5b34801561022757600080fd5b5061023b610236366004613a41565b61061a565b005b34801561024957600080fd5b5061025d610258366004613a5c565b610724565b60405190151581526020015b60405180910390f35b34801561027e57600080fd5b5061029261028d366004613a86565b61075b565b604051908152602001610269565b3480156102ac57600080fd5b5061023b6102bb366004613a9f565b6107f6565b3480156102cc57600080fd5b506102926102db366004613b25565b610a0a565b3480156102ec57600080fd5b506102927f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a781565b34801561032057600080fd5b5061029261032f366004613a86565b60009081526065602052604090206001015490565b34801561035057600080fd5b506102927f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504181565b34801561038457600080fd5b5061023b610393366004613b47565b610ec2565b3480156103a457600080fd5b5061023b6103b3366004613b47565b610eec565b3480156103c457600080fd5b5061023b6103d3366004613a41565b610fb7565b3480156103e457600080fd5b5061023b6103f3366004613a41565b611096565b61023b610406366004613b89565b61117c565b34801561041757600080fd5b50610292611248565b34801561042c57600080fd5b506099546001600160a01b03165b6040516001600160a01b039091168152602001610269565b34801561045e57600080fd5b5061023b61046d366004613a41565b6112fb565b34801561047e57600080fd5b5061029260008051602061401f83398151915281565b3480156104a057600080fd5b5061023b6113b3565b3480156104b557600080fd5b5061023b6104c4366004613a41565b611529565b3480156104d557600080fd5b5061023b611633565b3480156104ea57600080fd5b5061025d6104f9366004613b47565b611706565b34801561050a57600080fd5b50610292600081565b34801561051f57600080fd5b50610292600080516020613fb883398151915281565b34801561054157600080fd5b5061023b610550366004613a41565b611731565b34801561056157600080fd5b506102927f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5581565b34801561059557600080fd5b50609a546001600160a01b031661043a565b3480156105b357600080fd5b5061023b6105c2366004613b47565b61183b565b3480156105d357600080fd5b506098546001600160a01b031661043a565b3480156105f157600080fd5b50610605610600366004613b25565b611860565b60408051928352602083019190915201610269565b61063260008051602061401f83398151915233611706565b61064e5760405162461bcd60e51b815260040161021290613c4b565b6097546001600160a01b0390811690821681036106ad5760405162461bcd60e51b815260206004820152601b60248201527f4e65772041756374696f6e656572206d757374206265206469666600000000006044820152606401610212565b6106d77f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a783611902565b6107017f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a782611988565b50609780546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000600260c9540361077f5760405162461bcd60e51b815260040161021290613c78565b600260c95561079c600080516020613fb883398151915233611706565b6107e25760405162461bcd60e51b815260206004820152601760248201527643616c6c6572206973206e6f742045786563757469766560481b6044820152606401610212565b6107eb826119ef565b600160c95592915050565b600260c954036108185760405162461bcd60e51b815260040161021290613c78565b600260c95561083560008051602061401f83398151915233611706565b6108515760405162461bcd60e51b815260040161021290613c4b565b6001600160a01b0387166108775760405162461bcd60e51b815260040161021290613caf565b6001600160a01b03861661089d5760405162461bcd60e51b815260040161021290613caf565b6001600160a01b0385166108c35760405162461bcd60e51b815260040161021290613caf565b6001600160a01b0384166108e95760405162461bcd60e51b815260040161021290613caf565b6001600160a01b03831661090f5760405162461bcd60e51b815260040161021290613caf565b6001600160a01b0382166109355760405162461bcd60e51b815260040161021290613caf565b6001600160a01b03811661095b5760405162461bcd60e51b815260040161021290613caf565b61015f80546001600160a01b03199081166001600160a01b03998a1690811790925561016080548216988a1698909817909755610161805488169389169384179055610162805488169289169283179055610168805488169091179055610163805487169588169590951790945561016480548616938716939093179092556101658054851691909516179093556101668054831690931790925561016780549091169091179055600160c955565b61016654604051635e0d443f60e01b815260006004820181905260016024830152604482018490529182916001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015610a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8b9190613cd8565b61016754604051635e0d443f60e01b815260016004820152600060248201819052604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015610ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0c9190613cd8565b90506103e8610b1d826103ed613d07565b610b279190613d1e565b61016754604051635e0d443f60e01b815260006004820181905260016024830152604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015610b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba89190613cd8565b61016654604051635e0d443f60e01b815260016004820152600060248201819052604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015610c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c299190613cd8565b905085811015610ead576000610c3f8288613d40565b610c5190670de0b6b3a7640000613d53565b61016754604051635e0d443f60e01b815260006004820181905260016024830152604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015610cae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd29190613cd8565b61016654604051635e0d443f60e01b815260016004820152600060248201819052604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015610d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d539190613cd8565b90506000610d618286613d53565b9050610d6d8488613d53565b965089811015610ea857610d81818b613d40565b610d9390670de0b6b3a7640000613d53565b61016754604051635e0d443f60e01b81526000600482015260016024820152604481018390529195506001600160a01b031690635e0d443f90606401602060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190613cd8565b61016654604051635e0d443f60e01b81526001600482015260006024820152604481018390529194506001600160a01b031690635e0d443f90606401602060405180830381865afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190613cd8565b9150610e998282613d53565b9050610ea58488613d53565b96505b505050505b610eb78388613d40565b979650505050505050565b600082815260656020526040902060010154610edd81611a31565b610ee78383611902565b505050565b610f0460008051602061401f83398151915233611706565b15610f515760405162461bcd60e51b815260206004820152601b60248201527f41646d696e2063616e74207573652072656e6f756e6365526f6c6500000000006044820152606401610212565b6001600160a01b0381163314610fa95760405162461bcd60e51b815260206004820181905260248201527f63616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c666044820152606401610212565b610fb38282611988565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610fff5760405162461bcd60e51b815260040161021290613d66565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611048600080516020613fd8833981519152546001600160a01b031690565b6001600160a01b03161461106e5760405162461bcd60e51b815260040161021290613db2565b61107781611a3b565b6040805160008082526020820190925261109391839190611a43565b50565b6110ae60008051602061401f83398151915233611706565b6110ca5760405162461bcd60e51b815260040161021290613c4b565b6098546001600160a01b0390811690821681036111295760405162461bcd60e51b815260206004820152601a60248201527f4e65772065786563206d75737420626520646966666572656e740000000000006044820152606401610212565b611141600080516020613fb883398151915283611902565b611159600080516020613fb883398151915282611988565b50609880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111c45760405162461bcd60e51b815260040161021290613d66565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661120d600080516020613fd8833981519152546001600160a01b031690565b6001600160a01b0316146112335760405162461bcd60e51b815260040161021290613db2565b61123c82611a3b565b610fb382826001611a43565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112e85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610212565b50600080516020613fd883398151915290565b61131360008051602061401f83398151915233611706565b61132f5760405162461bcd60e51b815260040161021290613c4b565b336001600160a01b038216036113875760405162461bcd60e51b815260206004820152601b60248201527f6e65772061646d696e206d75737420626520646966666572656e7400000000006044820152606401610212565b609b80546001600160a01b03929092166001600160a01b0319928316179055609c805490911633179055565b600054610100900460ff16158080156113d35750600054600160ff909116105b806113ed5750303b1580156113ed575060005460ff166001145b6114505760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610212565b6000805460ff191660011790558015611473576000805461ff0019166101001790555b61147b611bae565b611483611bd5565b61148b611bae565b6114a360008051602061401f83398151915233611902565b6114ac33611731565b6114b533611096565b6114be33611529565b60006101695561016a80546fffffffffffffffffffffffffffffffff191660011790558015611093576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61154160008051602061401f83398151915233611706565b61155d5760405162461bcd60e51b815260040161021290613c4b565b609a546001600160a01b0390811690821681036115bc5760405162461bcd60e51b815260206004820152601e60248201527f4e657720677561726469616e206d75737420626520646966666572656e7400006044820152606401610212565b6115e67f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504183611902565b6116107f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504182611988565b50609a80546001600160a01b0319166001600160a01b0392909216919091179055565b609b546001600160a01b031615806116545750609c546001600160a01b0316155b156116965760405162461bcd60e51b81526020600482015260126024820152713737903737b6b4b730ba32b21030b236b4b760711b6044820152606401610212565b609b54336001600160a01b0390911603611704576116c260008051602061401f83398151915233611902565b609c546116e79060008051602061401f833981519152906001600160a01b0316611988565b609b80546001600160a01b0319908116909155609c805490911690555b565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61174960008051602061401f83398151915233611706565b6117655760405162461bcd60e51b815260040161021290613c4b565b6099546001600160a01b0390811690821681036117c45760405162461bcd60e51b815260206004820152601960248201527f4e657720676f76206d75737420626520646966666572656e74000000000000006044820152606401610212565b6117ee7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5583611902565b6118187f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5582611988565b50609980546001600160a01b0319166001600160a01b0392909216919091179055565b60008281526065602052604090206001015461185681611a31565b610ee78383611988565b600080600260c954036118855760405162461bcd60e51b815260040161021290613c78565b600260c9556118a2600080516020613fb883398151915233611706565b6118e85760405162461bcd60e51b815260206004820152601760248201527643616c6c6572206973206e6f742045786563757469766560481b6044820152606401610212565b6118f28484611c04565b600160c955909590945092505050565b61190c8282611706565b610fb35760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119443390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6119928282611706565b15610fb35760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000806119fb8361219d565b90506000611a08826124f8565b6101605461016454919250611a2a916001600160a01b0390811691168361284b565b9392505050565b61109381336128ae565b611093612912565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a7657610ee78361296c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611ad0575060408051601f3d908101601f19168201909252611acd91810190613cd8565b60015b611b335760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610212565b600080516020613fd88339815191528114611ba25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610212565b50610ee7838383612a08565b600054610100900460ff166117045760405162461bcd60e51b815260040161021290613dfe565b600054610100900460ff16611bfc5760405162461bcd60e51b815260040161021290613dfe565b611704612a33565b61016654604051635e0d443f60e01b8152600060048201819052600160248301526044820184905291829182916001600160a01b031690635e0d443f90606401602060405180830381865afa158015611c61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c859190613cd8565b61016754604051635e0d443f60e01b815260016004820152600060248201819052604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015611ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d069190613cd8565b90506103e8611d17826103ed613d07565b611d219190613d1e565b61016754604051635e0d443f60e01b815260006004820181905260016024830152604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613cd8565b61016654604051635e0d443f60e01b815260016004820152600060248201819052604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015611dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e239190613cd8565b9050868110156120a7576000611e398289613d40565b611e4b90670de0b6b3a7640000613d53565b61016754604051635e0d443f60e01b815260006004820181905260016024830152604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015611ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecc9190613cd8565b61016654604051635e0d443f60e01b815260016004820152600060248201819052604482018490529293506001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015611f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4d9190613cd8565b90506000611f5b8286613d53565b9050611f678488613d53565b96508a8110156120a257611f7b818c613d40565b611f8d90670de0b6b3a7640000613d53565b61016754604051635e0d443f60e01b81526000600482015260016024820152604481018390529195506001600160a01b031690635e0d443f90606401602060405180830381865afa158015611fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200a9190613cd8565b61016654604051635e0d443f60e01b81526001600482015260006024820152604481018390529194506001600160a01b031690635e0d443f90606401602060405180830381865afa158015612063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120879190613cd8565b91506120938282613d53565b905061209f8488613d53565b96505b505050505b828810156120f75760405162461bcd60e51b815260206004820152601c60248201527f4e6f7420656e6f756768204f55534420666f722065786368616e6765000000006044820152606401610212565b600061210284612a61565b9050600061210f82612de4565b90508881101561215a5760405162461bcd60e51b81526020600482015260166024820152750ccbdb1d881a5b9cdd59881956081d1bc81b1d9554d160521b6044820152606401610212565b612164858b613d40565b6101605461016454919850612186916001600160a01b0390811691168961284b565b61218f81613137565b965050505050509250929050565b6000806000806000606461016860009054906101000a90046001600160a01b03166001600160a01b031663dae127876040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061221f9190613cd8565b6122299088613d07565b6122339190613d1e565b610163546040516370a0823160e01b81523060048201529192506001600160a01b0316906370a0823190602401602060405180830381865afa15801561227d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a19190613cd8565b8611156122f05760405162461bcd60e51b815260206004820181905260248201527f496e73756666696369656e74204c7655534420696e2045786368616e6765722e6044820152606401610212565b61016654604051635e0d443f60e01b81526000600482015260016024820152604481018890526001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015612348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236c9190613cd8565b9350612378868561325a565b6101685460408051633f273b8f60e21b815290516064926001600160a01b03169163fc9cee3c9160048083019260209291908290030181865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190613cd8565b6123f2906064613d40565b6123fc9086613d07565b6124069190613d1e565b9250808310156124285760405162461bcd60e51b815260040161021290613e49565b6101665461016354612447916001600160a01b03918216911688613346565b61016654604051630f7c084960e21b8152600060048201526001602482015260448101889052606481018590526001600160a01b0390911690633df02124906084016020604051808303816000875af11580156124a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124cc9190613cd8565b61016654610163549193506124ef916001600160a01b03908116911660006133f8565b50949350505050565b6000806000806000606461016860009054906101000a90046001600160a01b03166001600160a01b031663dae127876040518163ffffffff1660e01b8152600401602060405180830381865afa158015612556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257a9190613cd8565b6125849088613d07565b61258e9190613d1e565b610165546040516370a0823160e01b81523060048201529192506001600160a01b0316906370a0823190602401602060405180830381865afa1580156125d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125fc9190613cd8565b86111561264b5760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e74203343525620696e2045786368616e6765722e006044820152606401610212565b61016754604051635e0d443f60e01b81526001600482015260006024820152604481018890526001600160a01b0390911690635e0d443f90606401602060405180830381865afa1580156126a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c79190613cd8565b9350606461016860009054906101000a90046001600160a01b03166001600160a01b031663fc9cee3c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561271f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127439190613cd8565b61274e906064613d40565b6127589086613d07565b6127629190613d1e565b9250808310156127845760405162461bcd60e51b815260040161021290613e49565b61016754610165546127a3916001600160a01b03918216911688613346565b61016754604051630f7c084960e21b8152600160048201526000602482015260448101889052606481018590526001600160a01b0390911690633df02124906084016020604051808303816000875af1158015612804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128289190613cd8565b61016754610165549193506124ef916001600160a01b03908116911660006133f8565b6040516001600160a01b038316602482015260448101829052610ee790849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261350d565b6128b88282611706565b610fb3576128d0816001600160a01b031660146135df565b6128db8360206135df565b6040516020016128ec929190613ea4565b60408051601f198184030181529082905262461bcd60e51b825261021291600401613f19565b61292a60008051602061401f83398151915233611706565b6117045760405162461bcd60e51b815260206004820152601360248201527221b0b63632b91034b9903737ba1030b236b4b760691b6044820152606401610212565b6001600160a01b0381163b6129d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610212565b600080516020613fd883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612a118361377b565b600082511180612a1e5750805b15610ee757612a2d83836137bb565b50505050565b600054610100900460ff16612a5a5760405162461bcd60e51b815260040161021290613dfe565b600160c955565b6000806000806000606461016860009054906101000a90046001600160a01b03166001600160a01b031663dae127876040518163ffffffff1660e01b8152600401602060405180830381865afa158015612abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae39190613cd8565b612aed9088613d07565b612af79190613d1e565b610164546040516370a0823160e01b81523060048201529192506001600160a01b0316906370a0823190602401602060405180830381865afa158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b659190613cd8565b861115612bb45760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e74204f55534420696e2045786368616e6765722e006044820152606401610212565b61016754604051635e0d443f60e01b81526000600482015260016024820152604481018890526001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015612c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c309190613cd8565b9350606461016860009054906101000a90046001600160a01b03166001600160a01b031663fc9cee3c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cac9190613cd8565b612cb7906064613d40565b612cc19086613d07565b612ccb9190613d1e565b925080831015612d1d5760405162461bcd60e51b815260206004820152601960248201527f4f55534420706f6f6c20746f6f20696d62616c616e6365642e000000000000006044820152606401610212565b6101675461016454612d3c916001600160a01b03918216911688613346565b61016754604051630f7c084960e21b8152600060048201526001602482015260448101889052606481018590526001600160a01b0390911690633df02124906084016020604051808303816000875af1158015612d9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc19190613cd8565b61016754610164549193506124ef916001600160a01b03908116911660006133f8565b6000806000806000606461016860009054906101000a90046001600160a01b03166001600160a01b031663dae127876040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e669190613cd8565b612e709088613d07565b612e7a9190613d1e565b610165546040516370a0823160e01b81523060048201529192506001600160a01b0316906370a0823190602401602060405180830381865afa158015612ec4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ee89190613cd8565b861115612f375760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e74203343525620696e2045786368616e6765722e006044820152606401610212565b61016654604051635e0d443f60e01b81526001600482015260006024820152604481018890526001600160a01b0390911690635e0d443f90606401602060405180830381865afa158015612f8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fb39190613cd8565b9350606461016860009054906101000a90046001600160a01b03166001600160a01b031663fc9cee3c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561300b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061302f9190613cd8565b61303a906064613d40565b6130449086613d07565b61304e9190613d1e565b9250808310156130705760405162461bcd60e51b815260040161021290613e49565b610166546101655461308f916001600160a01b03918216911688613346565b61016654604051630f7c084960e21b8152600160048201526000602482015260448101889052606481018590526001600160a01b0390911690633df02124906084016020604051808303816000875af11580156130f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131149190613cd8565b61016654610165549193506124ef916001600160a01b03908116911660006133f8565b610163546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015613181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131a59190613cd8565b9050818110156131f75760405162461bcd60e51b815260206004820181905260248201527f696e737566206c7655534420746f2074726e736620746f20457868616e6765726044820152606401610212565b61016354604051630852cd8d60e31b8152600481018490526001600160a01b03909116906342966c6890602401600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b505050505050565b6000606461016860009054906101000a90046001600160a01b03166001600160a01b031663ca8eff7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d69190613cd8565b6132e09085613d07565b6132ea9190613d1e565b6132f49084613d53565b905080821115610ee75760405162461bcd60e51b815260206004820152601d60248201527f45787065637465642072657475726e2076616c756520746f6f206269670000006044820152606401610212565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015613397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bb9190613cd8565b6133c59190613d53565b6040516001600160a01b038516602482015260448101829052909150612a2d90859063095ea7b360e01b90606401612877565b8015806134725750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561344c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134709190613cd8565b155b6134dd5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610212565b6040516001600160a01b038316602482015260448101829052610ee790849063095ea7b360e01b90606401612877565b6000613562826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138af9092919063ffffffff16565b805190915015610ee757808060200190518101906135809190613f4c565b610ee75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610212565b606060006135ee836002613d07565b6135f9906002613d53565b67ffffffffffffffff81111561361157613611613b73565b6040519080825280601f01601f19166020018201604052801561363b576020820181803683370190505b509050600360fc1b8160008151811061365657613656613f6e565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061368557613685613f6e565b60200101906001600160f81b031916908160001a90535060006136a9846002613d07565b6136b4906001613d53565b90505b600181111561372c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106136e8576136e8613f6e565b1a60f81b8282815181106136fe576136fe613f6e565b60200101906001600160f81b031916908160001a90535060049490941c9361372581613f84565b90506136b7565b508315611a2a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610212565b6137848161296c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6138235760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610212565b600080846001600160a01b03168460405161383e9190613f9b565b600060405180830381855af49150503d8060008114613879576040519150601f19603f3d011682016040523d82523d6000602084013e61387e565b606091505b50915091506138a68282604051806060016040528060278152602001613ff8602791396138c6565b95945050505050565b60606138be84846000856138ff565b949350505050565b606083156138d5575081611a2a565b8251156138e55782518084602001fd5b8160405162461bcd60e51b81526004016102129190613f19565b6060824710156139605760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610212565b6001600160a01b0385163b6139b75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610212565b600080866001600160a01b031685876040516139d39190613f9b565b60006040518083038185875af1925050503d8060008114613a10576040519150601f19603f3d011682016040523d82523d6000602084013e613a15565b606091505b5091509150610eb78282866138c6565b80356001600160a01b0381168114613a3c57600080fd5b919050565b600060208284031215613a5357600080fd5b611a2a82613a25565b600060208284031215613a6e57600080fd5b81356001600160e01b031981168114611a2a57600080fd5b600060208284031215613a9857600080fd5b5035919050565b600080600080600080600060e0888a031215613aba57600080fd5b613ac388613a25565b9650613ad160208901613a25565b9550613adf60408901613a25565b9450613aed60608901613a25565b9350613afb60808901613a25565b9250613b0960a08901613a25565b9150613b1760c08901613a25565b905092959891949750929550565b60008060408385031215613b3857600080fd5b50508035926020909101359150565b60008060408385031215613b5a57600080fd5b82359150613b6a60208401613a25565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215613b9c57600080fd5b613ba583613a25565b9150602083013567ffffffffffffffff80821115613bc257600080fd5b818501915085601f830112613bd657600080fd5b813581811115613be857613be8613b73565b604051601f8201601f19908116603f01168101908382118183101715613c1057613c10613b73565b81604052828152886020848701011115613c2957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60208082526013908201527221b0b63632b91034b9903737ba1020b236b4b760691b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600f908201526e63616e742073657420746f2030204160881b604082015260600190565b600060208284031215613cea57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761075557610755613cf1565b600082613d3b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755613cf1565b8082018082111561075557610755613cf1565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6020808252601a908201527f4c7655534420706f6f6c20746f6f20696d62616c616e6365642e000000000000604082015260600190565b60005b83811015613e9b578181015183820152602001613e83565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613edc816017850160208801613e80565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613f0d816028840160208801613e80565b01602801949350505050565b6020815260008251806020840152613f38816040850160208701613e80565b601f01601f19169190910160400192915050565b600060208284031215613f5e57600080fd5b81518015158114611a2a57600080fd5b634e487b7160e01b600052603260045260246000fd5b600081613f9357613f93613cf1565b506000190190565b60008251613fad818460208701613e80565b919091019291505056fee4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220cb4c66b51ffbc9d10f2433292b6b8720be7a60a2c5c61120c2a7d024f56868f164736f6c63430008110033