0 txs
0 calls
constructor
No 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)
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)
previewTokenSplit
viewfunction previewTokenSplit(uint256 stableCoinAmount, uint256 cycles, address addressBaseStable) view returns (uint256 collateralInBaseStableAmount, uint256 coinsToPayForArchInStableAmount)
previewZapInAmount
viewfunction previewZapInAmount(uint256 stableCoinAmount, uint256 cycles, address addressBaseStable, bool useUserArch) view returns (uint256 ousdCollateralAmountReturn, uint256 archTokenAmountReturn)
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 addressLevEngine, address addressArchToken, address addressParamStore)
setExecutive
nonpayablefunction setExecutive(address newExecutive)
setGovernor
nonpayablefunction setGovernor(address newGovernor)
setGuardian
nonpayablefunction setGuardian(address newGuardian)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
zapIn
nonpayablefunction zapIn(uint256 stableCoinAmount, uint256 cycles, uint256 archMinAmount, uint256 ousdMinAmount, uint16 maxSlippageAllowed, address addressBaseStable, bool useUserArch) returns (uint256)
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)
ZapIn
event ZapIn(uint256 positionID, uint256 totalStableAmount, address baseStableAddress, bool usedUserArch)
errors
No errors.
creation bytecode
0x60a06040523060805234801561001457600080fd5b506080516138fd61004c600039600081816108490152818161088901528181610a3201528181610a720152610b0101526138fd6000f3fe6080604052600436106101c15760003560e01c8063704b6c02116100f7578063aecf62f011610095578063cfe4bd0311610064578063cfe4bd031461055b578063d547741f14610579578063df8a541714610599578063e6e8f7ca146105b757600080fd5b8063aecf62f0146104b3578063b52d326c146104e7578063c42cf53514610507578063ccc574901461052757600080fd5b80638a0dac4a116100d15780638a0dac4a146104495780638c3d73011461046957806391d148541461047e578063a217fddf1461049e57600080fd5b8063704b6c02146103f257806375b238fc146104125780638129fc1c1461043457600080fd5b806336568abe116101645780634f1ef2861161013e5780634f1ef2861461037857806352d1902d1461038b5780636140a402146103a0578063657d81f7146103d257600080fd5b806336568abe146103185780633659cfe6146103385780634b662b5a1461035857600080fd5b8063248a9ca3116101a0578063248a9ca31461025f57806324ea54f41461028f5780632f2ff15d146102c3578063353d0c41146102e357600080fd5b8062ede7e4146101c657806301ffc9a7146101e857806323e507f71461021d575b600080fd5b3480156101d257600080fd5b506101e66101e1366004613092565b6105d7565b005b3480156101f457600080fd5b506102086102033660046130ad565b6106ea565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b506102517f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a781565b604051908152602001610214565b34801561026b57600080fd5b5061025161027a3660046130d7565b60009081526065602052604090206001015490565b34801561029b57600080fd5b506102517f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504181565b3480156102cf57600080fd5b506101e66102de3660046130f0565b610721565b3480156102ef57600080fd5b506103036102fe36600461311c565b61074b565b60408051928352602083019190915201610214565b34801561032457600080fd5b506101e66103333660046130f0565b610774565b34801561034457600080fd5b506101e6610353366004613092565b61083f565b34801561036457600080fd5b506101e6610373366004613092565b61091e565b6101e6610386366004613198565b610a28565b34801561039757600080fd5b50610251610af4565b3480156103ac57600080fd5b506099546001600160a01b03165b6040516001600160a01b039091168152602001610214565b3480156103de57600080fd5b506102516103ed36600461324c565b610ba7565b3480156103fe57600080fd5b506101e661040d366004613092565b611226565b34801561041e57600080fd5b506102516000805160206138a883398151915281565b34801561044057600080fd5b506101e66112de565b34801561045557600080fd5b506101e6610464366004613092565b611431565b34801561047557600080fd5b506101e661153b565b34801561048a57600080fd5b506102086104993660046130f0565b61160e565b3480156104aa57600080fd5b50610251600081565b3480156104bf57600080fd5b506102517fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d81565b3480156104f357600080fd5b506101e66105023660046132c3565b611639565b34801561051357600080fd5b506101e6610522366004613092565b6118e8565b34801561053357600080fd5b506102517f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5581565b34801561056757600080fd5b50609a546001600160a01b03166103ba565b34801561058557600080fd5b506101e66105943660046130f0565b6119f2565b3480156105a557600080fd5b506098546001600160a01b03166103ba565b3480156105c357600080fd5b506103036105d23660046132fd565b611a17565b6105ef6000805160206138a88339815191523361160e565b6106145760405162461bcd60e51b815260040161060b90613345565b60405180910390fd5b6097546001600160a01b0390811690821681036106735760405162461bcd60e51b815260206004820152601b60248201527f4e65772041756374696f6e656572206d75737420626520646966660000000000604482015260640161060b565b61069d7f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a783611c53565b6106c77f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a782611cd9565b50609780546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b148061071b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526065602052604090206001015461073c81611d40565b6107468383611c53565b505050565b600080600061075984611d4a565b905061076786868387611ed2565b9250925050935093915050565b61078c6000805160206138a88339815191523361160e565b156107d95760405162461bcd60e51b815260206004820152601b60248201527f41646d696e2063616e74207573652072656e6f756e6365526f6c650000000000604482015260640161060b565b6001600160a01b03811633146108315760405162461bcd60e51b815260206004820181905260248201527f63616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66604482015260640161060b565b61083b8282611cd9565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108875760405162461bcd60e51b815260040161060b90613372565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108d0600080516020613861833981519152546001600160a01b031690565b6001600160a01b0316146108f65760405162461bcd60e51b815260040161060b906133be565b6108ff81611f29565b6040805160008082526020820190925261091b91839190611f31565b50565b6109366000805160206138a88339815191523361160e565b6109525760405162461bcd60e51b815260040161060b90613345565b6098546001600160a01b0390811690821681036109b15760405162461bcd60e51b815260206004820152601a60248201527f4e65772065786563206d75737420626520646966666572656e74000000000000604482015260640161060b565b6109db7fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d83611c53565b610a057fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d82611cd9565b50609880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a705760405162461bcd60e51b815260040161060b90613372565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ab9600080516020613861833981519152546001600160a01b031690565b6001600160a01b031614610adf5760405162461bcd60e51b815260040161060b906133be565b610ae882611f29565b61083b82826001611f31565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b945760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161060b565b5060008051602061386183398151915290565b6000808811610bf85760405162461bcd60e51b815260206004820152601760248201527f6572723a737461626c65436f696e416d6f756e743d3d30000000000000000000604482015260640161060b565b6103e88461ffff1610610c405760405162461bcd60e51b815260206004820152601060248201526f6572723a736c6970706167653e39393960801b604482015260640161060b565b6103bf8461ffff1611610c885760405162461bcd60e51b815260206004820152601060248201526f06572723a736c6970706167653c3936360841b604482015260640161060b565b6103e8610c9961ffff861687613420565b610ca39190613437565b9450610caf838961209c565b6000610cba84611d4a565b90508860008415158103610dbe576000610cd68c8c868a611ed2565b9093509050600061ffff8916610cee836103e8613420565b610cf89190613437565b610160549091506000906001600160a01b0316638803dbee8d848930610d1f42603c613459565b6040518663ffffffff1660e01b8152600401610d3f9594939291906134b0565b6000604051808303816000875af1158015610d5e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d8691908101906134ec565b600081518110610d9857610d98613592565b60200260200101519050610db8818f610db191906135a8565b8c8b6120b1565b93505050505b841515600103610f7157610dd38b89886120b1565b90506000610de1828c612191565b610166546040516370a0823160e01b815233600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5391906135bb565b1015610e975760405162461bcd60e51b81526020600482015260136024820152720cae4e474d2dce6eacc40eae6cae440c2e4c6d606b1b604482015260640161060b565b61016654604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015610ee6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0a91906135bb565b1015610f585760405162461bcd60e51b815260206004820152601760248201527f6572723a696e73756620617070726f76616c2061726368000000000000000000604482015260640161060b565b61016654610f6f906001600160a01b03168261209c565b505b6101675460405163060e9ba160e41b815260048101839052602481018c90526000916103e89161ffff8b16916001600160a01b0316906360e9ba1090604401602060405180830381865afa158015610fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff191906135bb565b610ffb9190613420565b6110059190613437565b9050600061016560009054906101000a90046001600160a01b03166001600160a01b031663789b05a7848e61016660009054906101000a90046001600160a01b03166001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161108191906001600160a01b0391909116815260200190565b602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c291906135bb565b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201523360648201526084810185905260a4016020604051808303816000875af115801561111a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113e91906135bb565b610166546040516370a0823160e01b81523060048201529192506111c69133916001600160a01b0316906370a0823190602401602060405180830381865afa15801561118e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b291906135bb565b610166546001600160a01b0316919061226e565b60408051828152602081018f90526001600160a01b038a1681830152881515606082015290517ffd7f96349fdce68fcd7c9f8eccdeaa80a1ee666c1be4459b3451783d68db53079181900360800190a19c9b505050505050505050505050565b61123e6000805160206138a88339815191523361160e565b61125a5760405162461bcd60e51b815260040161060b90613345565b336001600160a01b038216036112b25760405162461bcd60e51b815260206004820152601b60248201527f6e65772061646d696e206d75737420626520646966666572656e740000000000604482015260640161060b565b609b80546001600160a01b03929092166001600160a01b0319928316179055609c805490911633179055565b600054610100900460ff16158080156112fe5750600054600160ff909116105b806113185750303b158015611318575060005460ff166001145b61137b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161060b565b6000805460ff19166001179055801561139e576000805461ff0019166101001790555b6113a66122d1565b6113ae6122f8565b6113b66122d1565b6113ce6000805160206138a883398151915233611c53565b6113d7336118e8565b6113e03361091e565b6113e933611431565b801561091b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6114496000805160206138a88339815191523361160e565b6114655760405162461bcd60e51b815260040161060b90613345565b609a546001600160a01b0390811690821681036114c45760405162461bcd60e51b815260206004820152601e60248201527f4e657720677561726469616e206d75737420626520646966666572656e740000604482015260640161060b565b6114ee7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504183611c53565b6115187f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504182611cd9565b50609a80546001600160a01b0319166001600160a01b0392909216919091179055565b609b546001600160a01b0316158061155c5750609c546001600160a01b0316155b1561159e5760405162461bcd60e51b81526020600482015260126024820152713737903737b6b4b730ba32b21030b236b4b760711b604482015260640161060b565b609b54336001600160a01b039091160361160c576115ca6000805160206138a883398151915233611c53565b609c546115ef906000805160206138a8833981519152906001600160a01b0316611cd9565b609b80546001600160a01b0319908116909155609c805490911690555b565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260c9540361168b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161060b565b600260c9556116a86000805160206138a88339815191523361160e565b6116c45760405162461bcd60e51b815260040161060b90613345565b61016180546001600160a01b0319908116732a8e1e676ec238d8a992307b495b45b3feaa5e869081179092556101628054821673dac17f958d2ee523a2206206994597c13d831ec71790556101638054821673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4817905561016480548216736b175474e89094c44da98b954eedeac495271d0f17905561015f805482167387650d7bbfc3a9f10587d7778206671719d9910d17905561016080548216737a250d5630b4cf539739df2c5dacb4c659f2488d17905561016580546001600160a01b038781169184169190911790915561016680548683169084161790556101678054918516919092161790556117ce90846000612327565b610161546117e8906001600160a01b031684600019612327565b61016654611801906001600160a01b0316846000612327565b6101665461181b906001600160a01b031684600019612327565b610160546101625461183b916001600160a01b0391821691166000612327565b610160546101625461185c916001600160a01b039182169116600019612327565b610160546101635461187c916001600160a01b0391821691166000612327565b610160546101635461189d916001600160a01b039182169116600019612327565b61016054610164546118bd916001600160a01b0391821691166000612327565b61016054610164546118de916001600160a01b039182169116600019612327565b5050600160c95550565b6119006000805160206138a88339815191523361160e565b61191c5760405162461bcd60e51b815260040161060b90613345565b6099546001600160a01b03908116908216810361197b5760405162461bcd60e51b815260206004820152601960248201527f4e657720676f76206d75737420626520646966666572656e7400000000000000604482015260640161060b565b6119a57f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5583611c53565b6119cf7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5582611cd9565b50609980546001600160a01b0319166001600160a01b0392909216919091179055565b600082815260656020526040902060010154611a0d81611d40565b6107468383611cd9565b6000806000806000611a2887611d4a565b90506000611a358861243c565b905089871515600003611baa576000611a508c8c868d611ed2565b909250905073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b038b1601611b13576101605460405163d06ca61f60e01b81526001600160a01b039091169063d06ca61f90611aad90849088906004016135d4565b600060405180830381865afa158015611aca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611af291908101906134ec565b600181518110611b0457611b04613592565b60200260200101519450611ba8565b6101605460405163d06ca61f60e01b81526001600160a01b039091169063d06ca61f90611b4690849088906004016135d4565b600060405180830381865afa158015611b63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8b91908101906134ec565b600281518110611b9d57611b9d613592565b602002602001015194505b505b61015f546040516307211ef760e01b8152600f84900b600482015260006024820152604481018390526001600160a01b03909116906307211ef790606401602060405180830381865afa158015611c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2991906135bb565b9450871515600103611c4257611c3f858b612191565b93505b509299919850909650505050505050565b611c5d828261160e565b61083b5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611c953390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611ce3828261160e565b1561083b5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b61091b813361250d565b60608073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b03841601611dfd5760408051600280825260608201835290916020830190803683370190505090508281600081518110611da657611da6613592565b6001600160a01b03928316602091820292909201015261016654825191169082906001908110611dd857611dd8613592565b60200260200101906001600160a01b031690816001600160a01b03168152505061071b565b6040805160038082526080820190925290602082016060803683370190505090508281600081518110611e3257611e32613592565b60200260200101906001600160a01b031690816001600160a01b03168152505073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881600181518110611e7a57611e7a613592565b6001600160a01b03928316602091820292909201015261016654825191169082906002908110611eac57611eac613592565b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000806000611ee084612571565b90506000611ef0888888856125fa565b90506103e8611f01826103de613420565b611f0b9190613437565b90506000611f19828a6135a8565b9199919850909650505050505050565b61091b6128b3565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f64576107468361290d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fbe575060408051601f3d908101601f19168201909252611fbb918101906135bb565b60015b6120215760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161060b565b60008051602061386183398151915281146120905760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161060b565b506107468383836129a9565b61083b6001600160a01b0383163330846129d4565b61015f546000906120cf906001600160a01b03848116911686612327565b60006120da8361243c565b61015f54604051635320bf6b60e11b8152600f83900b600482015260006024820181905260448201899052606482018890529293506001600160a01b039091169063a6417ed6906084016020604051808303816000875af1158015612143573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216791906135bb565b61015f54909150612186906001600160a01b0386811691166000612327565b9150505b9392505050565b6101675460405163060e9ba160e41b815260048101849052602481018390526000916001600160a01b0316906334f8e9e59082906360e9ba1090604401602060405180830381865afa1580156121eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220f91906135bb565b6040518263ffffffff1660e01b815260040161222d91815260200190565b602060405180830381865afa15801561224a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218a91906135bb565b6040516001600160a01b03831660248201526044810182905261074690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612a0c565b600054610100900460ff1661160c5760405162461bcd60e51b815260040161060b906135ed565b600054610100900460ff1661231f5760405162461bcd60e51b815260040161060b906135ed565b61160c612ade565b8015806123a15750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561237b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239f91906135bb565b155b61240c5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161060b565b6040516001600160a01b03831660248201526044810182905261074690849063095ea7b360e01b9060640161229a565b600073dac17f958d2ee523a2206206994597c13d831ec6196001600160a01b0383160161246b57506003919050565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b0383160161249857506002919050565b736b175474e89094c44da98b954eedeac495271d0e196001600160a01b038316016124c557506001919050565b60405162461bcd60e51b815260206004820152601e60248201527f5a61707065723a20556e737570706f7274656420737461626c65636f696e0000604482015260640161060b565b612517828261160e565b61083b5761252f816001600160a01b03166014612b0c565b61253a836020612b0c565b60405160200161254b92919061365c565b60408051601f198184030181529082905262461bcd60e51b825261060b916004016136d1565b600073dac17f958d2ee523a2206206994597c13d831ec6196001600160a01b038316016125a057506006919050565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b038316016125cd57506006919050565b736b175474e89094c44da98b954eedeac495271d0e196001600160a01b038316016124c557506012919050565b6101675460405163060e9ba160e41b8152670de0b6b3a764000060048201526024810185905260009182916001600160a01b03909116906360e9ba1090604401602060405180830381865afa158015612657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061267b91906135bb565b610160546040516307c0329d60e21b81529192506000916001600160a01b0390911690631f00ca74906126bc90670de0b6b3a76400009089906004016135d4565b600060405180830381865afa1580156126d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261270191908101906134ec565b60008151811061271357612713613592565b60200260200101519050600061272b88838588612ca8565b9050600061273a866012613704565b61274590600a613801565b61274f9083613420565b610167549091506000906001600160a01b03166334f8e9e5670de0b6b3a764000061277a8886613420565b6127849190613437565b6040518263ffffffff1660e01b81526004016127a291815260200190565b602060405180830381865afa1580156127bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e391906135bb565b610160546040516307c0329d60e21b815291925082916001600160a01b0390911690631f00ca749061281b9084908d906004016135d4565b600060405180830381865afa158015612838573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261286091908101906134ec565b60008151811061287257612872613592565b6020026020010151670de0b6b3a764000061288d9190613420565b6128979190613437565b93506128a58a85878a612ca8565b9a9950505050505050505050565b6128cb6000805160206138a88339815191523361160e565b61160c5760405162461bcd60e51b815260206004820152601360248201527221b0b63632b91034b9903737ba1030b236b4b760691b604482015260640161060b565b6001600160a01b0381163b61297a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161060b565b60008051602061386183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6129b283612dc1565b6000825111806129bf5750805b15610746576129ce8383612e01565b50505050565b6040516001600160a01b03808516602483015283166044820152606481018290526129ce9085906323b872dd60e01b9060840161229a565b6000612a61826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612ef59092919063ffffffff16565b8051909150156107465780806020019051810190612a7f9190613810565b6107465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161060b565b600054610100900460ff16612b055760405162461bcd60e51b815260040161060b906135ed565b600160c955565b60606000612b1b836002613420565b612b26906002613459565b67ffffffffffffffff811115612b3e57612b3e613151565b6040519080825280601f01601f191660200182016040528015612b68576020820181803683370190505b509050600360fc1b81600081518110612b8357612b83613592565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612bb257612bb2613592565b60200101906001600160f81b031916908160001a9053506000612bd6846002613420565b612be1906001613459565b90505b6001811115612c59576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612c1557612c15613592565b1a60f81b828281518110612c2b57612c2b613592565b60200101906001600160f81b031916908160001a90535060049490941c93612c528161382d565b9050612be4565b50831561218a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161060b565b60008061016760009054906101000a90046001600160a01b03166001600160a01b03166364a2411b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d2391906135bb565b90506000670de0b6b3a7640000612d3a8787613420565b612d449190613437565b90506000612d53856012613704565b612d5e90600a613801565b612d689083613420565b612d729084613459565b612d7d86600a613801565b612d879085613420565b612d919190613437565b90506000612da086600a613801565b612daa838b613420565b612db49190613437565b9998505050505050505050565b612dca8161290d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612e695760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161060b565b600080846001600160a01b031684604051612e849190613844565b600060405180830381855af49150503d8060008114612ebf576040519150601f19603f3d011682016040523d82523d6000602084013e612ec4565b606091505b5091509150612eec828260405180606001604052806027815260200161388160279139612f0c565b95945050505050565b6060612f048484600085612f45565b949350505050565b60608315612f1b57508161218a565b825115612f2b5782518084602001fd5b8160405162461bcd60e51b815260040161060b91906136d1565b606082471015612fa65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161060b565b6001600160a01b0385163b612ffd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161060b565b600080866001600160a01b031685876040516130199190613844565b60006040518083038185875af1925050503d8060008114613056576040519150601f19603f3d011682016040523d82523d6000602084013e61305b565b606091505b509150915061306b828286612f0c565b979650505050505050565b80356001600160a01b038116811461308d57600080fd5b919050565b6000602082840312156130a457600080fd5b61218a82613076565b6000602082840312156130bf57600080fd5b81356001600160e01b03198116811461218a57600080fd5b6000602082840312156130e957600080fd5b5035919050565b6000806040838503121561310357600080fd5b8235915061311360208401613076565b90509250929050565b60008060006060848603121561313157600080fd5b833592506020840135915061314860408501613076565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561319057613190613151565b604052919050565b600080604083850312156131ab57600080fd5b6131b483613076565b915060208084013567ffffffffffffffff808211156131d257600080fd5b818601915086601f8301126131e657600080fd5b8135818111156131f8576131f8613151565b61320a601f8201601f19168501613167565b9150808252878482850101111561322057600080fd5b80848401858401376000848284010152508093505050509250929050565b801515811461091b57600080fd5b600080600080600080600060e0888a03121561326757600080fd5b87359650602088013595506040880135945060608801359350608088013561ffff8116811461329557600080fd5b92506132a360a08901613076565b915060c08801356132b38161323e565b8091505092959891949750929550565b6000806000606084860312156132d857600080fd5b6132e184613076565b92506132ef60208501613076565b915061314860408501613076565b6000806000806080858703121561331357600080fd5b843593506020850135925061332a60408601613076565b9150606085013561333a8161323e565b939692955090935050565b60208082526013908201527221b0b63632b91034b9903737ba1020b236b4b760691b604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761071b5761071b61340a565b60008261345457634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561071b5761071b61340a565b600081518084526020808501945080840160005b838110156134a55781516001600160a01b031687529582019590820190600101613480565b509495945050505050565b85815284602082015260a0604082015260006134cf60a083018661346c565b6001600160a01b0394909416606083015250608001529392505050565b600060208083850312156134ff57600080fd5b825167ffffffffffffffff8082111561351757600080fd5b818501915085601f83011261352b57600080fd5b81518181111561353d5761353d613151565b8060051b915061354e848301613167565b818152918301840191848101908884111561356857600080fd5b938501935b838510156135865784518252938501939085019061356d565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561071b5761071b61340a565b6000602082840312156135cd57600080fd5b5051919050565b828152604060208201526000612f04604083018461346c565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b8381101561365357818101518382015260200161363b565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613694816017850160208801613638565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516136c5816028840160208801613638565b01602801949350505050565b60208152600082518060208401526136f0816040850160208701613638565b601f01601f19169190910160400192915050565b60ff828116828216039081111561071b5761071b61340a565b600181815b8085111561375857816000190482111561373e5761373e61340a565b8085161561374b57918102915b93841c9390800290613722565b509250929050565b60008261376f5750600161071b565b8161377c5750600061071b565b8160018114613792576002811461379c576137b8565b600191505061071b565b60ff8411156137ad576137ad61340a565b50506001821b61071b565b5060208310610133831016604e8410600b84101617156137db575081810a61071b565b6137e5838361371d565b80600019048211156137f9576137f961340a565b029392505050565b600061218a60ff841683613760565b60006020828403121561382257600080fd5b815161218a8161323e565b60008161383c5761383c61340a565b506000190190565b60008251613856818460208701613638565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a26469706673582212204c2e2fa346cc847f759260647b18fae01c30318a6c4cc84eaf19f0f261d13a1264736f6c63430008110033