0 txs
0 calls
constructor
constructor()
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
AUCTIONEER
viewfunction AUCTIONEER() view returns (bytes32)
calculateArchNeededForLeverage
viewfunction calculateArchNeededForLeverage(uint256 leverageAmount) view returns (uint256)
calculateLeverageAllowedForArch
viewfunction calculateLeverageAllowedForArch(uint256 archAmount) view returns (uint256)
calculateOriginationFee
viewfunction calculateOriginationFee(uint256 leverageAmount) view returns (uint256)
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)
getAllowedLeverageForPosition
viewfunction getAllowedLeverageForPosition(uint256 principle, uint256 numberOfCycles) view returns (uint256)
getAllowedLeverageForPositionWithArch
viewfunction getAllowedLeverageForPositionWithArch(uint256 principle, uint256 numberOfCycles, uint256 archAmount) view returns (uint256)
getArchToLevRatio
viewfunction getArchToLevRatio() view returns (uint256)
getCoordinatorLeverageBalance
viewfunction getCoordinatorLeverageBalance() view returns (uint256)
getCurveGuardPercentage
viewfunction getCurveGuardPercentage() view returns (uint256)
getCurveMaxExchangeGuard
viewfunction getCurveMaxExchangeGuard() view returns (uint256)
getGlobalCollateralRate
viewfunction getGlobalCollateralRate() view returns (uint256)
getMaxNumberOfCycles
viewfunction getMaxNumberOfCycles() view returns (uint256)
getMinPositionCollateral
viewfunction getMinPositionCollateral() view returns (uint256)
getOriginationFeeRate
viewfunction getOriginationFeeRate() view returns (uint256)
getPositionTimeToLiveInDays
viewfunction getPositionTimeToLiveInDays() view returns (uint256)
getRebaseFeeRate
viewfunction getRebaseFeeRate() view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getSlippage
viewfunction getSlippage() view returns (uint256)
getTreasuryAddress
viewfunction getTreasuryAddress() view returns (address)
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()
changeCoordinatorLeverageBalance
nonpayablefunction changeCoordinatorLeverageBalance(uint256 newCoordinatorLeverageBalance)
changeCurveGuardPercentage
nonpayablefunction changeCurveGuardPercentage(uint256 newCurveGuardPercentage)
changeCurveMaxExchangeGuard
nonpayablefunction changeCurveMaxExchangeGuard(uint256 newCurveMaxExchangeGuard)
changeGlobalCollateralRate
nonpayablefunction changeGlobalCollateralRate(uint256 newGlobalCollateralRate)
changeMaxNumberOfCycles
nonpayablefunction changeMaxNumberOfCycles(uint256 newMaxNumberOfCycles)
changeMinPositionCollateral
nonpayablefunction changeMinPositionCollateral(uint256 newMinPositionCollateral)
changeOriginationFeeRate
nonpayablefunction changeOriginationFeeRate(uint256 newFeeRate)
changePositionTimeToLiveInDays
nonpayablefunction changePositionTimeToLiveInDays(uint256 newPositionTimeToLiveInDays)
changeRebaseFeeRate
nonpayablefunction changeRebaseFeeRate(uint256 newRebaseFeeRate)
changeSlippage
nonpayablefunction changeSlippage(uint256 newSlippage)
changeTreasuryAddress
nonpayablefunction changeTreasuryAddress(address newTreasuryAddress)
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 addressCoordinator, address addressExchanger, address addressAuction)
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
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
ParameterChange
event ParameterChange(string indexed _name, uint256 _newValue, uint256 _oldValue)
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)
TreasuryChange
event TreasuryChange(address indexed _newValue, address indexed _oldValue)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e8565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e6576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051612ef76200012060003960008181610d0d01528181610d4d01528181610ef601528181610f3601526110bc0152612ef76000f3fe6080604052600436106103335760003560e01c8063a217fddf116101ab578063cb4c4868116100f7578063de4146aa11610095578063e9f1e2781161006f578063e9f1e278146109ad578063f5d7a88b146109cd578063f9ef30b5146109ed578063fc9cee3c14610a0357610333565b8063de4146aa1461095a578063df8a54171461097a578063e00246041461099857610333565b8063cfe4bd03116100d1578063cfe4bd03146108f0578063d547741f1461090e578063dae127871461092e578063db41f54a1461094457610333565b8063cb4c486814610898578063cc9b7ebe146108b8578063ccc57490146108ce57610333565b8063b8d58e6511610164578063c038a77e1161013e578063c038a77e1461082c578063c42cf5351461084c578063c797943c1461086c578063ca8eff7a1461088257610333565b8063b8d58e65146107cc578063be75c890146107ec578063bec872b01461080c57610333565b8063a217fddf1461070d578063a6f353f014610722578063aecf62f014610742578063af0a99e514610776578063b52d326c1461078c578063b89fed13146107ac57610333565b80634f1ef28611610285578063714026b3116102235780638a0dac4a116101fd5780638a0dac4a146106985780638c3d7301146106b85780638e4f2269146106cd57806391d14854146106ed57610333565b8063714026b31461064157806375b238fc146106615780638129fc1c1461068357610333565b806360e9ba101161025f57806360e9ba10146105ba5780636140a402146105da57806364a2411b1461060c578063704b6c021461062157610333565b80634f1ef28614610572578063525e132b1461058557806352d1902d146105a557610333565b806324ea54f4116102f257806334f8e9e5116102cc57806334f8e9e5146104f257806336568abe146105125780633659cfe6146105325780634b662b5a1461055257610333565b806324ea54f41461047e5780632f2ff15d146104b257806332e4cbab146104d257610333565b8062346b8c1461038d578062ede7e4146103b257806301ffc9a7146103d4578063167446b51461040457806323e507f71461041a578063248a9ca31461044e575b34801561033f57600080fd5b5060405162461bcd60e51b815260206004820152601b60248201527f506172616d53746f7265203a20496e76616c696420616363657373000000000060448201526064015b60405180910390fd5b34801561039957600080fd5b50610133545b6040519081526020015b60405180910390f35b3480156103be57600080fd5b506103d26103cd366004612960565b610a19565b005b3480156103e057600080fd5b506103f46103ef36600461297b565b610b23565b60405190151581526020016103a9565b34801561041057600080fd5b506101305461039f565b34801561042657600080fd5b5061039f7f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a781565b34801561045a57600080fd5b5061039f6104693660046129a5565b60009081526065602052604090206001015490565b34801561048a57600080fd5b5061039f7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504181565b3480156104be57600080fd5b506103d26104cd3660046129be565b610b5a565b3480156104de57600080fd5b506103d26104ed3660046129a5565b610b84565b3480156104fe57600080fd5b5061039f61050d3660046129a5565b610bfb565b34801561051e57600080fd5b506103d261052d3660046129be565b610c38565b34801561053e57600080fd5b506103d261054d366004612960565b610d03565b34801561055e57600080fd5b506103d261056d366004612960565b610de2565b6103d2610580366004612a00565b610eec565b34801561059157600080fd5b506103d26105a03660046129a5565b610fb8565b3480156105b157600080fd5b5061039f6110af565b3480156105c657600080fd5b5061039f6105d5366004612ac2565b611162565b3480156105e657600080fd5b506099546001600160a01b03165b6040516001600160a01b0390911681526020016103a9565b34801561061857600080fd5b5061039f611207565b34801561062d57600080fd5b506103d261063c366004612960565b61127a565b34801561064d57600080fd5b506103d261065c3660046129a5565b611332565b34801561066d57600080fd5b5061039f600080516020612ea283398151915281565b34801561068f57600080fd5b506103d2611414565b3480156106a457600080fd5b506103d26106b3366004612960565b6115d7565b3480156106c457600080fd5b506103d26116e1565b3480156106d957600080fd5b506103d26106e83660046129a5565b6117b4565b3480156106f957600080fd5b506103f46107083660046129be565b61189b565b34801561071957600080fd5b5061039f600081565b34801561072e57600080fd5b506103d261073d366004612960565b6118c6565b34801561074e57600080fd5b5061039f7fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d81565b34801561078257600080fd5b506101395461039f565b34801561079857600080fd5b506103d26107a7366004612ae4565b6119af565b3480156107b857600080fd5b506103d26107c73660046129a5565b611a97565b3480156107d857600080fd5b5061039f6107e7366004612b27565b611b76565b3480156107f857600080fd5b506103d26108073660046129a5565b611bff565b34801561081857600080fd5b506103d26108273660046129a5565b611ce6565b34801561083857600080fd5b506103d26108473660046129a5565b611dbf565b34801561085857600080fd5b506103d2610867366004612960565b611e47565b34801561087857600080fd5b506101325461039f565b34801561088e57600080fd5b506101375461039f565b3480156108a457600080fd5b506103d26108b33660046129a5565b611f2d565b3480156108c457600080fd5b5061013a5461039f565b3480156108da57600080fd5b5061039f600080516020612e3b83398151915281565b3480156108fc57600080fd5b50609a546001600160a01b03166105f4565b34801561091a57600080fd5b506103d26109293660046129be565b612013565b34801561093a57600080fd5b506101355461039f565b34801561095057600080fd5b506101385461039f565b34801561096657600080fd5b5061039f6109753660046129a5565b612038565b34801561098657600080fd5b506098546001600160a01b03166105f4565b3480156109a457600080fd5b506105f461205c565b3480156109b957600080fd5b5061039f6109c83660046129a5565b6120c9565b3480156109d957600080fd5b506103d26109e83660046129a5565b6120f1565b3480156109f957600080fd5b506101315461039f565b348015610a0f57600080fd5b506101365461039f565b610a31600080516020612ea28339815191523361189b565b610a4d5760405162461bcd60e51b815260040161038490612b53565b6097546001600160a01b039081169082168103610aac5760405162461bcd60e51b815260206004820152601b60248201527f4e65772041756374696f6e656572206d757374206265206469666600000000006044820152606401610384565b610ad67f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a7836121e1565b610b007f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a782612267565b50609780546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b1480610b5457506301ffc9a760e01b6001600160e01b03198316145b92915050565b600082815260656020526040902060010154610b75816122ce565b610b7f83836121e1565b505050565b61012d546001600160a01b0316331480610ba9575061012e546001600160a01b031633145b610bf55760405162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206973206e6f7420696e7465726e616c20636f6e7472616374006044820152606401610384565b61013a55565b600080670de0b6b3a7640000610c0f611207565b610c199190612b96565b9050610c258184612b96565b610c31906103e8612bb8565b9392505050565b610c50600080516020612ea28339815191523361189b565b15610c9d5760405162461bcd60e51b815260206004820152601b60248201527f41646d696e2063616e74207573652072656e6f756e6365526f6c6500000000006044820152606401610384565b6001600160a01b0381163314610cf55760405162461bcd60e51b815260206004820181905260248201527f63616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c666044820152606401610384565b610cff8282612267565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d4b5760405162461bcd60e51b815260040161038490612bcb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d94600080516020612e1b833981519152546001600160a01b031690565b6001600160a01b031614610dba5760405162461bcd60e51b815260040161038490612c17565b610dc3816122d8565b60408051600080825260208201909252610ddf918391906122e0565b50565b610dfa600080516020612ea28339815191523361189b565b610e165760405162461bcd60e51b815260040161038490612b53565b6098546001600160a01b039081169082168103610e755760405162461bcd60e51b815260206004820152601a60248201527f4e65772065786563206d75737420626520646966666572656e740000000000006044820152606401610384565b610e9f7fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d836121e1565b610ec97fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d82612267565b50609880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f345760405162461bcd60e51b815260040161038490612bcb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f7d600080516020612e1b833981519152546001600160a01b031690565b6001600160a01b031614610fa35760405162461bcd60e51b815260040161038490612c17565b610fac826122d8565b610cff828260016122e0565b610fd0600080516020612e3b8339815191523361189b565b610fec5760405162461bcd60e51b815260040161038490612c63565b69d3c21bcecceda10000008110801561100c5750670de0b6b3a764000081115b6110585760405162461bcd60e51b815260206004820152601f60248201527f4e6577206d696e20636f6c6c61746572616c206f7574206f662072616e6765006044820152606401610384565b604051741b5a5b941bdcda5d1a5bdb90dbdb1b185d195c985b605a1b81526015016040805191829003822061013854848452602084015291600080516020612e82833981519152910160405180910390a261013855565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461114f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610384565b50600080516020612e1b83398151915290565b6000610130548211156111b75760405162461bcd60e51b815260206004820152601f60248201527f4379636c65732067726561746572207468616e206d617820616c6c6f776564006044820152606401610384565b600083815b848110156111fd57606461013254836111d59190612c93565b6111df9190612b96565b91506111eb8284612bb8565b92506111f681612caa565b90506111bc565b5090949350505050565b61012f54604080516207d2a760eb1b815290516000926001600160a01b031691633e9538009160048083019260209291908290030181865afa158015611251573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112759190612cc3565b905090565b611292600080516020612ea28339815191523361189b565b6112ae5760405162461bcd60e51b815260040161038490612b53565b336001600160a01b038216036113065760405162461bcd60e51b815260206004820152601b60248201527f6e65772061646d696e206d75737420626520646966666572656e7400000000006044820152606401610384565b609b80546001600160a01b03929092166001600160a01b0319928316179055609c805490911633179055565b61134a600080516020612e3b8339815191523361189b565b6113665760405162461bcd60e51b815260040161038490612c63565b60148110801561137557508015155b6113c15760405162461bcd60e51b815260206004820181905260248201527f4e6577206d6178206e206f66206379636c6573206f7574206f662072616e67656044820152606401610384565b604051706d61784e756d6265724f664379636c657360781b81526011016040805191829003822061013054848452602084015291600080516020612e82833981519152910160405180910390a261013055565b600054610100900460ff16158080156114345750600054600160ff909116105b8061144e5750303b15801561144e575060005460ff166001145b6114b15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610384565b6000805460ff1916600117905580156114d4576000805461ff0019166101001790555b6114dc61244b565b6114e461244b565b6114fc600080516020612ea2833981519152336121e1565b61150533611e47565b61150e33610de2565b611517336115d7565b600a610130556611c37937e0800061013155605f61013255670429d069189e000061013355606061013555600161013655603261013755671bc16d674ec800006101385561017261013955600061013a5561013480546001600160a01b031990811690915561012d80548216905561012e805490911690558015610ddf576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6115ef600080516020612ea28339815191523361189b565b61160b5760405162461bcd60e51b815260040161038490612b53565b609a546001600160a01b03908116908216810361166a5760405162461bcd60e51b815260206004820152601e60248201527f4e657720677561726469616e206d75737420626520646966666572656e7400006044820152606401610384565b6116947f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041836121e1565b6116be7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504182612267565b50609a80546001600160a01b0319166001600160a01b0392909216919091179055565b609b546001600160a01b031615806117025750609c546001600160a01b0316155b156117445760405162461bcd60e51b81526020600482015260126024820152713737903737b6b4b730ba32b21030b236b4b760711b6044820152606401610384565b609b54336001600160a01b03909116036117b257611770600080516020612ea2833981519152336121e1565b609c5461179590600080516020612ea2833981519152906001600160a01b0316612267565b609b80546001600160a01b0319908116909155609c805490911690555b565b6117cc600080516020612e3b8339815191523361189b565b6117e85760405162461bcd60e51b815260040161038490612c63565b68056bc75e2d63100000811080156118005750600081115b61184c5760405162461bcd60e51b815260206004820181905260248201527f4e657720726562617365206665652072617465206f7574206f662072616e67656044820152606401610384565b6040516c7265626173654665655261746560981b8152600d016040805191829003822061013354848452602084015291600080516020612e82833981519152910160405180910390a261013355565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6118de600080516020612e3b8339815191523361189b565b6118fa5760405162461bcd60e51b815260040161038490612c63565b6001600160a01b0381166119505760405162461bcd60e51b815260206004820152601a60248201527f54726561737572792063616e27742062652073657420746f20300000000000006044820152606401610384565b610134546040516001600160a01b03918216918316907f803605f0e28534cba577fd3b24b497857b9d8fd1b4105ce6b37c5c33b83ef76b90600090a361013480546001600160a01b0319166001600160a01b0392909216919091179055565b6119c7600080516020612ea28339815191523361189b565b6119e35760405162461bcd60e51b815260040161038490612b53565b6001600160a01b038316611a095760405162461bcd60e51b815260040161038490612cdc565b6001600160a01b038216611a2f5760405162461bcd60e51b815260040161038490612cdc565b6001600160a01b038116611a555760405162461bcd60e51b815260040161038490612cdc565b61012d80546001600160a01b039485166001600160a01b03199182161790915561012e80549385169382169390931790925561012f8054919093169116179055565b611aaf600080516020612e3b8339815191523361189b565b611acb5760405162461bcd60e51b815260040161038490612c63565b60508110158015611add575060648111155b611b205760405162461bcd60e51b81526020600482015260146024820152734e657720434750206f7574206f662072616e676560601b6044820152606401610384565b604051736375727665477561726450657263656e7461676560601b81526014016040805191829003822061013554848452602084015291600080516020612e82833981519152910160405180910390a261013555565b600080611b838585611162565b90506000611b90846120c9565b9050611b9e61271083612b96565b611baa61271083612b96565b10611bb757509050610c31565b60405162461bcd60e51b815260206004820152601760248201527f4e6f7420656e6f756768204172636820666f7220506f730000000000000000006044820152606401610384565b611c17600080516020612e3b8339815191523361189b565b611c335760405162461bcd60e51b815260040161038490612c63565b606481108015611c435750600181115b611c8f5760405162461bcd60e51b815260206004820152601f60248201527f6e657743757276654d617845784775617264206f7574206f662072616e6765006044820152606401610384565b6040517418dd5c9d9953585e115e18da185b99d951dd585c99605a1b81526015016040805191829003822061013754848452602084015291600080516020612e82833981519152910160405180910390a261013755565b611cfe600080516020612e3b8339815191523361189b565b611d1a5760405162461bcd60e51b815260040161038490612c63565b8015801590611d295750600581105b611d755760405162461bcd60e51b815260206004820152601960248201527f4e657720736c697070616765206f7574206f662072616e6765000000000000006044820152606401610384565b60405167736c69707061676560c01b81526008016040805191829003822061013654848452602084015291600080516020612e82833981519152910160405180910390a261013655565b611dd7600080516020612e3b8339815191523361189b565b611df35760405162461bcd60e51b815260040161038490612c63565b604051716f726967696e6174696f6e4665655261746560701b81526012016040805191829003822061013154848452602084015291600080516020612e82833981519152910160405180910390a261013155565b611e5f600080516020612ea28339815191523361189b565b611e7b5760405162461bcd60e51b815260040161038490612b53565b6099546001600160a01b039081169082168103611eda5760405162461bcd60e51b815260206004820152601960248201527f4e657720676f76206d75737420626520646966666572656e74000000000000006044820152606401610384565b611ef2600080516020612e3b833981519152836121e1565b611f0a600080516020612e3b83398151915282612267565b50609980546001600160a01b0319166001600160a01b0392909216919091179055565b611f45600080516020612e3b8339815191523361189b565b611f615760405162461bcd60e51b815260040161038490612c63565b60648111158015611f7157508015155b611fbd5760405162461bcd60e51b815260206004820181905260248201527f4e657720636f6c6c61746572616c2072617465206f7574206f662072616e67656044820152606401610384565b60405173676c6f62616c436f6c6c61746572616c5261746560601b81526014016040805191829003822061013254848452602084015291600080516020612e82833981519152910160405180910390a261013255565b60008281526065602052604090206001015461202e816122ce565b610b7f8383612267565b6000670de0b6b3a764000082610131546120529190612c93565b610b549190612b96565b610134546000906001600160a01b03166120b85760405162461bcd60e51b815260206004820152601b60248201527f54726561737572792061646472657373206973206e6f742073657400000000006044820152606401610384565b50610134546001600160a01b031690565b600081670de0b6b3a76400006120dd611207565b6120e79190612b96565b610b549190612c93565b612109600080516020612e3b8339815191523361189b565b6121255760405162461bcd60e51b815260040161038490612c63565b612710811080156121365750601e81115b6121825760405162461bcd60e51b815260206004820152601f60248201527f6e6577506f736974696f6e54696d65546f4c697665496e44617973204f4f52006044820152606401610384565b6040517f6e6577506f736974696f6e54696d65546f4c697665496e4461797300000000008152601b016040805191829003822061013954848452602084015291600080516020612e82833981519152910160405180910390a261013955565b6121eb828261189b565b610cff5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556122233390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b612271828261189b565b15610cff5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610ddf81336124b6565b610ddf61251a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561231357610b7f83612574565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561236d575060408051601f3d908101601f1916820190925261236a91810190612cc3565b60015b6123d05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610384565b600080516020612e1b833981519152811461243f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610384565b50610b7f838383612610565b600054610100900460ff166117b25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610384565b6124c0828261189b565b610cff576124d8816001600160a01b0316601461263b565b6124e383602061263b565b6040516020016124f4929190612d29565b60408051601f198184030181529082905262461bcd60e51b825261038491600401612d9e565b612532600080516020612ea28339815191523361189b565b6117b25760405162461bcd60e51b815260206004820152601360248201527221b0b63632b91034b9903737ba1030b236b4b760691b6044820152606401610384565b6001600160a01b0381163b6125e15760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610384565b600080516020612e1b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612619836127d7565b6000825111806126265750805b15610b7f576126358383612817565b50505050565b6060600061264a836002612c93565b612655906002612bb8565b67ffffffffffffffff81111561266d5761266d6129ea565b6040519080825280601f01601f191660200182016040528015612697576020820181803683370190505b509050600360fc1b816000815181106126b2576126b2612dd1565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106126e1576126e1612dd1565b60200101906001600160f81b031916908160001a9053506000612705846002612c93565b612710906001612bb8565b90505b6001811115612788576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061274457612744612dd1565b1a60f81b82828151811061275a5761275a612dd1565b60200101906001600160f81b031916908160001a90535060049490941c9361278181612de7565b9050612713565b508315610c315760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610384565b6127e081612574565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61287f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610384565b600080846001600160a01b03168460405161289a9190612dfe565b600060405180830381855af49150503d80600081146128d5576040519150601f19603f3d011682016040523d82523d6000602084013e6128da565b606091505b50915091506129028282604051806060016040528060278152602001612e5b6027913961290b565b95945050505050565b6060831561291a575081610c31565b82511561292a5782518084602001fd5b8160405162461bcd60e51b81526004016103849190612d9e565b80356001600160a01b038116811461295b57600080fd5b919050565b60006020828403121561297257600080fd5b610c3182612944565b60006020828403121561298d57600080fd5b81356001600160e01b031981168114610c3157600080fd5b6000602082840312156129b757600080fd5b5035919050565b600080604083850312156129d157600080fd5b823591506129e160208401612944565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612a1357600080fd5b612a1c83612944565b9150602083013567ffffffffffffffff80821115612a3957600080fd5b818501915085601f830112612a4d57600080fd5b813581811115612a5f57612a5f6129ea565b604051601f8201601f19908116603f01168101908382118183101715612a8757612a876129ea565b81604052828152886020848701011115612aa057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215612ad557600080fd5b50508035926020909101359150565b600080600060608486031215612af957600080fd5b612b0284612944565b9250612b1060208501612944565b9150612b1e60408501612944565b90509250925092565b600080600060608486031215612b3c57600080fd5b505081359360208301359350604090920135919050565b60208082526013908201527221b0b63632b91034b9903737ba1020b236b4b760691b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082612bb357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610b5457610b54612b80565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526016908201527521b0b63632b91034b9903737ba1023b7bb32b93737b960511b604082015260600190565b8082028115828204841417610b5457610b54612b80565b600060018201612cbc57612cbc612b80565b5060010190565b600060208284031215612cd557600080fd5b5051919050565b6020808252600f908201526e63616e742073657420746f2030204160881b604082015260600190565b60005b83811015612d20578181015183820152602001612d08565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612d61816017850160208801612d05565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612d92816028840160208801612d05565b01602801949350505050565b6020815260008251806020840152612dbd816040850160208701612d05565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b600081612df657612df6612b80565b506000190190565b60008251612e10818460208701612d05565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f55416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656434e931b9282cb1d852f7ecdf2ca9e6107c790773a66881a8c5dc2226f5af8e27a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220ede2cd0967b7de3094d2499b61f2351f177daf0a126d8981da7c7ff0fa9f4d9664736f6c63430008110033