1.1k txs
980 calls
constructor
constructor(address router, address deployer)
functions
getBuyProceeds
viewfunction getBuyProceeds(uint256 upgradeId) view returns (uint256)
getBuyToken
viewfunction getBuyToken(uint256 upgradeId) view returns (address)
getSellProceeds
viewfunction getSellProceeds(uint256 upgradeId) view returns (uint256)
getSellToken
viewfunction getSellToken(uint256 upgradeId) view returns (address)
getTokens
viewfunction getTokens(uint256 upgradeId) view returns (address[])
getTotalDeposit
viewfunction getTotalDeposit(uint256 upgradeId, address token) view returns (uint256)
getTotalDonation
viewfunction getTotalDonation(uint256 upgradeId, address token) view returns (uint256)
getUpgradeCount
viewfunction getUpgradeCount() view returns (uint256)
getUserClaim
viewfunction getUserClaim(uint256 upgradeId, address user) view returns (uint256)
getUserClaimed
viewfunction getUserClaimed(uint256 upgradeId, address user) view returns (bool)
getUserDelegateAt
viewfunction getUserDelegateAt(address user, uint256 index) view returns (address)
getUserDelegateCount
viewfunction getUserDelegateCount(address user) view returns (uint256)
getUserDelegates
viewfunction getUserDelegates(address user) view returns (address[])
getUserDeposit
viewfunction getUserDeposit(uint256 upgradeId, address user, address token) view returns (uint256)
getUserDonation
viewfunction getUserDonation(uint256 upgradeId, address user, address token) view returns (uint256)
getUserUpgradeAt
viewfunction getUserUpgradeAt(address user, uint256 index) view returns (uint256)
getUserUpgradeCount
viewfunction getUserUpgradeCount(address user) view returns (uint256)
getUserUpgrades
viewfunction getUserUpgrades(address user) view returns (uint256[])
isUserDelegating
viewfunction isUserDelegating(address user, address delegate) view returns (bool)
isUserUpgrading
viewfunction isUserUpgrading(address user, uint256 upgradeId) view returns (bool)
owner
viewfunction owner() view returns (address)
addDelegate
nonpayablefunction addDelegate(address delegate)
claim
nonpayablefunction claim(uint256 upgradeId, address user) returns (uint256)
deposit
nonpayablefunction deposit(uint256 upgradeId, address user, address token, uint256 quantity, bool donation)
execute
nonpayablefunction execute(uint256 upgradeId, address sellToken, bytes[] swapData, bytes deployData) returns (address)
removeDelegate
nonpayablefunction removeDelegate(address delegate)
renounceOwnership
nonpayablefunction renounceOwnership()
schedule
nonpayablefunction schedule(address[] tokens) returns (uint256)
scheduleMore
nonpayablefunction scheduleMore(uint256 upgradeId, address[] tokens)
setDeployer
nonpayablefunction setDeployer(address deployer)
setRouter
nonpayablefunction setRouter(address router)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 upgradeId, address user, address token, uint256 quantity, bool donation)
events
AddDelegate
event AddDelegate(address indexed user, address indexed delegate, uint256 timestamp)
Claim
event Claim(uint256 indexed upgradeId, address indexed user, address indexed buyToken, uint256 userBuyProceeds, uint256 timestamp)
Deposit
event Deposit(uint256 indexed upgradeId, address indexed user, address indexed token, uint256 quantity, bool donation, uint256 timestamp)
Execute
event Execute(uint256 indexed upgradeId, address indexed sellToken, address indexed buyToken, uint256 sellProceeds, uint256 buyProceeds, uint256 timestamp)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RemoveDelegate
event RemoveDelegate(address indexed user, address indexed delegate, uint256 timestamp)
Schedule
event Schedule(uint256 indexed upgradeId, address indexed token, uint256 timestamp)
Withdraw
event Withdraw(uint256 indexed upgradeId, address indexed user, address indexed token, uint256 quantity, bool donation, uint256 timestamp)
errors
No errors.
creation bytecode
0x608060405234801561000f575f80fd5b5060405161288338038061288383398101604081905261002e916100d6565b6100373361006c565b60018055600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055610107565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d1575f80fd5b919050565b5f80604083850312156100e7575f80fd5b6100f0836100bb565b91506100fe602084016100bb565b90509250929050565b61276f806101145f395ff3fe608060405234801561000f575f80fd5b50600436106101f2575f3560e01c80638f83b6b611610114578063d3c9cc26116100a9578063e91d71c511610079578063e91d71c514610526578063f2fde38b14610548578063fa61fd951461055b578063fc4fd0a41461056e578063fc8300e514610581575f80fd5b8063d3c9cc26146104c2578063d4d577c4146104d5578063ddd5e1b214610500578063e71bdf4114610513575f80fd5b8063ba4072eb116100e4578063ba4072eb14610451578063bdbf970b14610471578063c0d786551461049c578063c1ec0c3c146104af575f80fd5b80638f83b6b6146103d2578063962147351461040b5780639738e6641461041e578063989d627b1461043e575f80fd5b806367e7646f1161018a578063715018a61161015a578063715018a614610394578063822d113e1461039c5780638ce45f4f146103af5780638da5cb5b146103c2575f80fd5b806367e7646f146103295780636e3c7b061461033c5780636fa2fd591461034f578063702984a814610357575f80fd5b806346893cf4116101c557806346893cf41461028c57806354ab4217146102a15780635e54811c146102da57806360524aa914610316575f80fd5b806305da08ef146101f657806307cad02e1461021e5780630c8a77ee1461023f57806314a0f06a14610261575b5f80fd5b61020961020436600461206c565b6105c1565b60405190151581526020015b60405180910390f35b61023161022c366004612096565b6105ee565b604051908152602001610215565b61023161024d3660046120c4565b5f908152600560205260409020600a015490565b61027461026f36600461206c565b6106fa565b6040516001600160a01b039091168152602001610215565b61029f61029a3660046120e8565b61071b565b005b6102316102af366004612096565b5f8281526005602090815260408083206001600160a01b038516845260030190915290205492915050565b6102096102e8366004612096565b5f8281526005602090815260408083206001600160a01b038516845260020190915290205460ff1692915050565b61029f6103243660046120e8565b610b17565b61029f610337366004612143565b610e42565b61020961034a36600461215e565b610ee3565b600454610231565b61023161036536600461218a565b5f9283526005602090815260408085206001600160a01b03948516865282528085209290931684525290205490565b61029f610f04565b6102316103aa3660046122a4565b610f17565b6102316103bd366004612143565b611082565b5f546001600160a01b0316610274565b6102316103e0366004612096565b5f8281526005602090815260408083206001600160a01b038516845260040190915290205492915050565b61029f610419366004612143565b6110a5565b61043161042c366004612143565b6110cf565b60405161021591906122de565b61029f61044c366004612329565b6110f2565b61046461045f366004612143565b611233565b604051610215919061236d565b61027461047f3660046120c4565b5f908152600560205260409020600801546001600160a01b031690565b61029f6104aa366004612143565b611259565b6102316104bd36600461206c565b611283565b6104316104d03660046120c4565b6112a7565b6102746104e33660046120c4565b5f908152600560205260409020600901546001600160a01b031690565b61023161050e366004612096565b6112c3565b61029f610521366004612143565b6115a8565b6102316105343660046120c4565b5f908152600560205260409020600b015490565b61029f610556366004612143565b611642565b610231610569366004612143565b6116bb565b61027461057c366004612410565b6116db565b61023161058f36600461218a565b5f9283526005602090815260408085206001600160a01b03948516865260010182528085209290931684525290205490565b6001600160a01b0382165f9081526006602052604081206105e59060020183611d17565b90505b92915050565b5f828152600560205260408120600b810154600a820154801580610610575081155b15610620575f93505050506105e8565b5f8061062e85600601611d2e565b90505f5b81518110156106d8575f82828151811061064e5761064e612507565b6020908102919091018101516001600160a01b03808c165f9081528a8452604080822092841682529184528181205460038c01909452205490925080156106cd576001600160a01b0383165f90815260058a01602052604090205481906106b690849061252f565b6106c09190612546565b6106ca9087612565565b95505b505050600101610632565b50826106e4838661252f565b6106ee9190612546565b98975050505050505050565b6001600160a01b0382165f9081526006602052604081206105e59083611d41565b836001600160a01b03811633148061074f57506001600160a01b0381165f90815260066020526040902061074f9033611d4c565b6107745760405162461bcd60e51b815260040161076b90612578565b60405180910390fd5b8560045481106107965760405162461bcd60e51b815260040161076b906125a0565b5f818152600560205260409020600901546001600160a01b0316156107cd5760405162461bcd60e51b815260040161076b906125cc565b6107d5611d6d565b5f8781526005602052604090206107ef6006820187611d4c565b6108305760405162461bcd60e51b8152602060048201526012602482015271546f6b656e206e6f7420656c696769626c6560701b604482015260640161076b565b8315610915576001600160a01b038088165f9081526001830160209081526040808320938a16835292905220548511156108a45760405162461bcd60e51b815260206004820152601560248201527445786365737320746f6b656e207175616e7469747960581b604482015260640161076b565b6001600160a01b038088165f9081526001830160209081526040808320938a16835292905290812080548792906108dc9084906125f6565b90915550506001600160a01b0386165f9081526004820160205260408120805487929061090a9084906125f6565b909155506109e79050565b6001600160a01b038088165f90815260208381526040808320938a168352929052205485111561097f5760405162461bcd60e51b815260206004820152601560248201527445786365737320746f6b656e207175616e7469747960581b604482015260640161076b565b6001600160a01b038088165f90815260208381526040808320938a16835292905290812080548792906109b39084906125f6565b90915550506001600160a01b0386165f908152600382016020526040812080548792906109e19084906125f6565b90915550505b60405163a9059cbb60e01b81526001600160a01b0388811660048301526024820187905287169063a9059cbb906044016020604051808303815f875af1158015610a33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a579190612609565b610aa35760405162461bcd60e51b815260206004820152601a60248201527f5769746864726177616c207472616e73666572206661696c6564000000000000604482015260640161076b565b856001600160a01b0316876001600160a01b0316897f976a9e76214140d6aa855fca0d187cf6965f25221b13e5ec32f0eb1f53fae0d9888842604051610afc939291909283529015156020830152604082015260600190565b60405180910390a450610b0e60018055565b50505050505050565b836001600160a01b038116331480610b4b57506001600160a01b0381165f908152600660205260409020610b4b9033611d4c565b610b675760405162461bcd60e51b815260040161076b90612578565b856004548110610b895760405162461bcd60e51b815260040161076b906125a0565b5f818152600560205260409020600901546001600160a01b031615610bc05760405162461bcd60e51b815260040161076b906125cc565b610bc8611d6d565b5f878152600560205260409020610be26006820187611d4c565b610c235760405162461bcd60e51b8152602060048201526012602482015271546f6b656e206e6f7420656c696769626c6560701b604482015260640161076b565b6040516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018790528716906323b872dd906064016020604051808303815f875af1158015610c75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c999190612609565b610ce55760405162461bcd60e51b815260206004820152601760248201527f4465706f736974207472616e73666572206661696c6564000000000000000000604482015260640161076b565b8315610d5c576001600160a01b038088165f9081526001830160209081526040808320938a1683529290529081208054879290610d23908490612565565b90915550506001600160a01b0386165f90815260048201602052604081208054879290610d51908490612565565b90915550610dc49050565b6001600160a01b038088165f90815260208381526040808320938a1683529290529081208054879290610d90908490612565565b90915550506001600160a01b0386165f90815260038201602052604081208054879290610dbe908490612565565b90915550505b6001600160a01b0387165f908152600660205260409020610de89060020189611dc6565b50856001600160a01b0316876001600160a01b0316897fbcf1e82a8469dcf396277fc61e752f040c451f39bf696c8ed6f75fc0df7d7680888842604051610afc939291909283529015156020830152604082015260600190565b335f908152600660205260409020610e5a9082611dd1565b610e9f5760405162461bcd60e51b815260206004820152601660248201527541646472657373206e6f7420612064656c656761746560501b604482015260640161076b565b6040514281526001600160a01b0382169033907fa90dff5df3373db26d6691fed3913787ac703676cd51a8fd5ecd48b62c53cf23906020015b60405180910390a350565b6001600160a01b0382165f9081526006602052604081206105e59083611d4c565b610f0c611de5565b610f155f611e3e565b565b5f610f20611de5565b5f825111610f705760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964206e756d626572206f6620746f6b656e730000000000000000604482015260640161076b565b600480545f9182610f8083612624565b909155505f8181526005602052604081209192505b845181101561107957610fcd858281518110610fb357610fb3612507565b602002602001015183600601611e8d90919063ffffffff16565b6110145760405162461bcd60e51b8152602060048201526018602482015277111d5c1b1a58d85d19481d1bdad95b881cdd5c1c1b1a595960421b604482015260640161076b565b84818151811061102657611026612507565b60200260200101516001600160a01b0316837fd24e85b288c214881af6483a16379f1c4959e5ced18074d5b7f11020797346c14260405161106991815260200190565b60405180910390a3600101610f95565b50909392505050565b6001600160a01b0381165f9081526006602052604081206105e890600201611ea1565b6110ad611de5565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381165f9081526006602052604090206060906105e890611d2e565b6110fa611de5565b81600454811061111c5760405162461bcd60e51b815260040161076b906125a0565b5f818152600560205260409020600901546001600160a01b0316156111535760405162461bcd60e51b815260040161076b906125cc565b5f838152600560205260408120905b835181101561122c57611180848281518110610fb357610fb3612507565b6111c75760405162461bcd60e51b8152602060048201526018602482015277111d5c1b1a58d85d19481d1bdad95b881cdd5c1c1b1a595960421b604482015260640161076b565b8381815181106111d9576111d9612507565b60200260200101516001600160a01b0316857fd24e85b288c214881af6483a16379f1c4959e5ced18074d5b7f11020797346c14260405161121c91815260200190565b60405180910390a3600101611162565b5050505050565b6001600160a01b0381165f9081526006602052604090206060906105e890600201611d2e565b611261611de5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0382165f9081526006602052604081206105e59060020183611d41565b5f8181526005602052604090206060906105e890600601611d2e565b5f816001600160a01b0381163314806112f857506001600160a01b0381165f9081526006602052604090206112f89033611d4c565b6113145760405162461bcd60e51b815260040161076b90612578565b8360045481106113365760405162461bcd60e51b815260040161076b906125a0565b5f818152600560205260409020600901546001600160a01b03166113935760405162461bcd60e51b8152602060048201526014602482015273155c19dc985919481b9bdd08195e1958dd5d195960621b604482015260640161076b565b61139b611d6d565b5f8581526005602090815260408083206001600160a01b0388168452600281019092529091205460ff16156114045760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b604482015260640161076b565b6001600160a01b038086165f9081526002830160205260408120805460ff1916600117905560098301549091169061143c88886105ee565b90505f81116114805760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b604482015260640161076b565b60405163a9059cbb60e01b81526001600160a01b0388811660048301526024820183905283169063a9059cbb906044016020604051808303815f875af11580156114cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f09190612609565b61153c5760405162461bcd60e51b815260206004820152601a60248201527f5769746864726177616c207472616e73666572206661696c6564000000000000604482015260640161076b565b816001600160a01b0316876001600160a01b0316897f31e7888a6f36efcb826d6ca64ff155546c052ae47e70bd7ea56aef23fc3b9276844260405161158b929190918252602082015260400190565b60405180910390a4945050506115a060018055565b505092915050565b335f9081526006602052604090206115c09082611e8d565b6116055760405162461bcd60e51b815260206004820152601660248201527511195b1959d85d1948185b1c9958591e48185919195960521b604482015260640161076b565b6040514281526001600160a01b0382169033907f20a7022f915e24dc20cc41f4b179f1103ba0b13cdebdfd31ac3901baf7e95e1490602001610ed8565b61164a611de5565b6001600160a01b0381166116af5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161076b565b6116b881611e3e565b50565b6001600160a01b0381165f9081526006602052604081206105e890611ea1565b5f6116e4611de5565b8460045481106117065760405162461bcd60e51b815260040161076b906125a0565b5f818152600560205260409020600901546001600160a01b03161561173d5760405162461bcd60e51b815260040161076b906125cc565b611745611d6d565b5f8681526005602052604081209061175f60068301611ea1565b9050855181146117bf5760405162461bcd60e51b815260206004820152602560248201527f4d7573742070726f766964652073776170206461746120666f722065616368206044820152643a37b5b2b760d91b606482015260840161076b565b5f5b8115611a8c57816117d18161263c565b92505f90506117e36006850184611d41565b6001600160a01b0381165f9081526004860160209081526040808320546003890190925282205492935090916118199190612565565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038c16906370a0823190602401602060405180830381865afa158015611860573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118849190612651565b60025460405163095ea7b360e01b81526001600160a01b0391821660048201526024810185905291925084169063095ea7b3906044016020604051808303815f875af11580156118d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118fa9190612609565b5060025f9054906101000a90046001600160a01b03166001600160a01b0316634c3f521d84848e308f8b8151811061193457611934612507565b60200260200101516040518663ffffffff1660e01b815260040161195c959493929190612696565b6020604051808303815f875af1158015611978573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199c9190612651565b506040516370a0823160e01b81523060048201525f906001600160a01b038d16906370a0823190602401602060405180830381865afa1580156119e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a059190612651565b90505f611a1283836125f6565b90505f8111611a5a5760405162461bcd60e51b81526020600482015260146024820152732ab730b13632903a379039bbb0b8103a37b5b2b760611b604482015260640161076b565b6001600160a01b0385165f9081526005890160205260409020819055611a808187612565565b955050505050506117c1565b5f8111611ace5760405162461bcd60e51b815260206004820152601060248201526f4e6f2073656c6c2070726f636565647360801b604482015260640161076b565b600a83018190556008830180546001600160a01b0319166001600160a01b038a811691821790925560035460405163095ea7b360e01b815292166004830152602482018390529063095ea7b3906044016020604051808303815f875af1158015611b3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5e9190612609565b50600354604051632a8067df60e01b81525f916001600160a01b031690632a8067df90611b93908c9086908c906004016126db565b6020604051808303815f875af1158015611baf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bd3919061270a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611c1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3e9190612651565b90505f8111611c8f5760405162461bcd60e51b815260206004820152601f60248201527f4465706c6f796d656e74207265636569766564207a65726f20746f6b656e7300604482015260640161076b565b600b85018190556009850180546001600160a01b038481166001600160a01b0319909216821790925560408051868152602081018590524281830152905191928d16918e917f71802708e248085996a7107b5688699347f8666c370fa727eea50d56fcd8965e919081900360600190a4509450505050611d0e60018055565b50949350505050565b5f81815260018301602052604081205415156105e5565b60605f611d3a83611eaa565b9392505050565b5f6105e58383611f03565b6001600160a01b0381165f90815260018301602052604081205415156105e5565b600260015403611dbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161076b565b6002600155565b5f6105e58383611f29565b5f6105e5836001600160a01b038416611f75565b5f546001600160a01b03163314610f155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161076b565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6105e5836001600160a01b038416611f29565b5f6105e8825490565b6060815f01805480602002602001604051908101604052809291908181526020018280548015611ef757602002820191905f5260205f20905b815481526020019060010190808311611ee3575b50505050509050919050565b5f825f018281548110611f1857611f18612507565b905f5260205f200154905092915050565b5f818152600183016020526040812054611f6e57508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556105e8565b505f6105e8565b5f818152600183016020526040812054801561204f575f611f976001836125f6565b85549091505f90611faa906001906125f6565b9050818114612009575f865f018281548110611fc857611fc8612507565b905f5260205f200154905080875f018481548110611fe857611fe8612507565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061201a5761201a612725565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506105e8565b5f9150506105e8565b6001600160a01b03811681146116b8575f80fd5b5f806040838503121561207d575f80fd5b823561208881612058565b946020939093013593505050565b5f80604083850312156120a7575f80fd5b8235915060208301356120b981612058565b809150509250929050565b5f602082840312156120d4575f80fd5b5035919050565b80151581146116b8575f80fd5b5f805f805f60a086880312156120fc575f80fd5b85359450602086013561210e81612058565b9350604086013561211e81612058565b9250606086013591506080860135612135816120db565b809150509295509295909350565b5f60208284031215612153575f80fd5b8135611d3a81612058565b5f806040838503121561216f575f80fd5b823561217a81612058565b915060208301356120b981612058565b5f805f6060848603121561219c575f80fd5b8335925060208401356121ae81612058565b915060408401356121be81612058565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612206576122066121c9565b604052919050565b5f67ffffffffffffffff821115612227576122276121c9565b5060051b60200190565b5f82601f830112612240575f80fd5b813561225361224e8261220e565b6121dd565b8082825260208201915060208360051b860101925085831115612274575f80fd5b602085015b8381101561229a57803561228c81612058565b835260209283019201612279565b5095945050505050565b5f602082840312156122b4575f80fd5b813567ffffffffffffffff8111156122ca575f80fd5b6122d684828501612231565b949350505050565b602080825282518282018190525f918401906040840190835b8181101561231e5783516001600160a01b03168352602093840193909201916001016122f7565b509095945050505050565b5f806040838503121561233a575f80fd5b82359150602083013567ffffffffffffffff811115612357575f80fd5b61236385828601612231565b9150509250929050565b602080825282518282018190525f918401906040840190835b8181101561231e578351835260209384019390920191600101612386565b5f82601f8301126123b3575f80fd5b813567ffffffffffffffff8111156123cd576123cd6121c9565b6123e0601f8201601f19166020016121dd565b8181528460208386010111156123f4575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215612423575f80fd5b84359350602085013561243581612058565b9250604085013567ffffffffffffffff811115612450575f80fd5b8501601f81018713612460575f80fd5b803561246e61224e8261220e565b8082825260208201915060208360051b85010192508983111561248f575f80fd5b602084015b838110156124d057803567ffffffffffffffff8111156124b2575f80fd5b6124c18c6020838901016123a4565b84525060209283019201612494565b509450505050606085013567ffffffffffffffff8111156124ef575f80fd5b6124fb878288016123a4565b91505092959194509250565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105e8576105e861251b565b5f8261256057634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156105e8576105e861251b565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b602080825260129082015271125b9d985b1a59081d5c19dc98591948125160721b604082015260600190565b60208082526010908201526f155c19dc98591948195e1958dd5d195960821b604082015260600190565b818103818111156105e8576105e861251b565b5f60208284031215612619575f80fd5b8151611d3a816120db565b5f600182016126355761263561251b565b5060010190565b5f8161264a5761264a61251b565b505f190190565b5f60208284031215612661575f80fd5b5051919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0386811682526020820186905284811660408301528316606082015260a0608082018190525f906126d090830184612668565b979650505050505050565b60018060a01b0384168152826020820152606060408201525f6127016060830184612668565b95945050505050565b5f6020828403121561271a575f80fd5b8151611d3a81612058565b634e487b7160e01b5f52603160045260245ffdfea26469706673582212208e781819550e7673af2aa00e553a7cb22bd2622b4aa1ec8cab6afec6b9d158c364736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000