161 txs
399 calls
constructor
constructor(address _stakingToken, address _boosterNFT, address _rewardToken, address _withdrawingAdmin)
functions
balances
viewfunction balances(address) view returns (uint256 staked, uint256 lockScaled, uint256 scaled, uint256 nftId, bool boosted, uint256 lockBoost)
boosterNFT
viewfunction boosterNFT() view returns (address)
claimableRewards
viewfunction claimableRewards(address _account) view returns (tuple[] claimable)
currentEmissionsIndex
viewfunction currentEmissionsIndex() view returns (uint256)
emissions
viewfunction emissions(uint256) view returns (uint256 duration, uint256 amount)
emissionsStart
viewfunction emissionsStart() view returns (uint256)
isAdmin
viewfunction isAdmin(address _admin) view returns (bool)
lastTimeRewardApplicable
viewfunction lastTimeRewardApplicable(address _rewardsToken) view returns (uint256)
owner
viewfunction owner() view returns (address)
rewardData
viewfunction rewardData(address) view returns (uint256 periodFinish, uint256 rewardRate, uint256 lastUpdateTime, uint256 rewardPerTokenStored, uint256 balance)
rewards
viewfunction rewards(address, address) view returns (uint256)
rewardsDuration
viewfunction rewardsDuration() view returns (uint256)
rewardTokens
viewfunction rewardTokens(uint256) view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
totalScaled
viewfunction totalScaled() view returns (uint256)
userLockTime
viewfunction userLockTime(address) view returns (uint256)
withdrawingAdmin
viewfunction withdrawingAdmin() view returns (address)
addAdmin
nonpayablefunction addAdmin(address _admin)
addReward
nonpayablefunction addReward(address _rewardToken)
deposit
nonpayablefunction deposit(uint256 _amount, address _onBehalfOf, uint8 _lock)
getReward
nonpayablefunction getReward(address[] _rewardTokens)
notifyReward
nonpayablefunction notifyReward(address[] _rewardTokens, uint256[] _amounts, uint256 _rewardsDuration)
removeAdmin
nonpayablefunction removeAdmin(address _admin)
renounceOwnership
nonpayablefunction renounceOwnership()
stakeNFT
nonpayablefunction stakeNFT(uint256 _tokenId)
startEmissions
nonpayablefunction startEmissions(tuple[] _emissions)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unstakeNFT
nonpayablefunction unstakeNFT()
withdraw
nonpayablefunction withdraw(uint256 _amount, address _onBehalfOf)
events
AdminAdded
event AdminAdded(address indexed admin)
AdminRemoved
event AdminRemoved(address indexed admin)
Deposited
event Deposited(address indexed user, uint256 amount, uint256 scaled)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardPaid
event RewardPaid(address indexed user, address indexed rewardsToken, uint256 reward)
Withdrawn
event Withdrawn(address indexed user, uint256 amount, uint256 scaled)
errors
AdminAlreadyExists
error AdminAlreadyExists(address admin)
AdminDoesNotExist
error AdminDoesNotExist(address admin)
AdminIsAddressZero
error AdminIsAddressZero()
CallerIsNotTheAdmin
error CallerIsNotTheAdmin(address caller)
creation bytecode
0x60e06040523480156200001157600080fd5b5060405162002d5f38038062002d5f8339810160408190526200003491620001cf565b6200003f3362000073565b6001600160a01b03808516608052831660c0526200005d82620000c3565b6001600160a01b031660a0525062000237915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6080516001600160a01b0316816001600160a01b0316036200012b5760405162461bcd60e51b815260206004820152601b60248201527f5374616b696e6720746f6b656e206973206e6f74207265776172640000000000604482015260640160405180910390fd5b6001600160a01b038116600090815260086020526040902060020154156200015257600080fd5b600a8054600181019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b039092166001600160a01b031990921682179055600090815260086020526040902042600282018190559055565b6001600160a01b0381168114620001cc57600080fd5b50565b60008060008060808587031215620001e657600080fd5b8451620001f381620001b6565b60208601519094506200020681620001b6565b60408601519093506200021981620001b6565b60608601519092506200022c81620001b6565b939692955090935050565b60805160a05160c051612ab9620002a6600039600081816103bc01528181610c0f01528181610e2a015281816118910152611d320152600081816103e30152818161050301526112e60152600081816103590152818161078b015281816114dc01526120a00152612ab96000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806373feac2a116100e4578063a36cfb6d11610092578063a36cfb6d14610429578063b7ec8d4b1461043c578063cb6da6701461044f578063dc01f60d14610477578063e0a747fe14610497578063e5acbe211461049f578063e70b9e27146104a8578063f2fde38b146104d357600080fd5b806373feac2a146103885780637bb7bed1146103915780637fd7d062146103a4578063821c4043146103b75780638d2a876a146103de5780638da5cb5b146104055780639c9b2e211461041657600080fd5b806348e5d9f81161014157806348e5d9f81461028e5780635a9a93fc146102f3578063638634ee146103135780636eb604e0146103265780637048027514610339578063715018a61461034c57806372f702f31461035457600080fd5b8062f714ce146101935780630a3136d0146101a85780630b3562dc146101c45780631785f53c146101d757806324d7806c146101ea57806327e235e31461020d578063386a952514610285575b600080fd5b6101a66101a13660046124bf565b6104e6565b005b6101b160035481565b6040519081526020015b60405180910390f35b6101a66101d236600461255d565b6107fc565b6101a66101e536600461261e565b610add565b6101fd6101f836600461261e565b610b90565b60405190151581526020016101bb565b61025661021b36600461261e565b600960205260009081526040902080546001820154600283015460038401546004850154600590950154939492939192909160ff9091169086565b6040805196875260208701959095529385019290925260608401521515608083015260a082015260c0016101bb565b6101b160065481565b6102cb61029c36600461261e565b600860205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a0016101bb565b6101b161030136600461261e565b60056020526000908152604090205481565b6101b161032136600461261e565b610bca565b6101a661033436600461263b565b610bf9565b6101a661034736600461261e565b610ed7565b6101a6610f91565b61037b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101bb9190612654565b6101b160045481565b61037b61039f36600461263b565b610fa5565b6101a66103b23660046126b3565b610fcf565b61037b7f000000000000000000000000000000000000000000000000000000000000000081565b61037b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031661037b565b6101a661042436600461261e565b61107b565b6101a66104373660046126f4565b611090565b6101a661044a366004612767565b6112c9565b61046261045d36600461263b565b611545565b604080519283526020830191909152016101bb565b61048a61048536600461261e565b611573565b6040516101bb91906127ad565b6101a6611708565b6101b1600b5481565b6101b16104b6366004612805565b600760209081526000928352604080842090915290825290205481565b6101a66104e136600461261e565b611939565b336001600160a01b03821614806105255750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61054a5760405162461bcd60e51b815260040161054190612833565b60405180910390fd5b6001600160a01b0381166000908152600560205260409020544210156105825760405162461bcd60e51b815260040161054190612862565b6001600160a01b038116600090815260096020526040902080548311156105eb5760405162461bcd60e51b815260206004820152601a60248201527f416d6f756e742067726561746572207468616e207374616b65640000000000006044820152606401610541565b61064f82600a80548060200260200160405190810160405280929190818152602001828054801561064557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610627575b50505050506119af565b6001600160a01b03821633036106c2576106c2600a8054806020026020016040519081016040528092919081815260200182805480156106b857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161069a575b5050505050611bd3565b60006106e6600a6106e0846005015487611cf790919063ffffffff16565b90611d03565b600483015490915060ff161561071a5760006107058360030154611d0f565b9050610716600a6106e08484611cf7565b9150505b8154840361073057506002810154600060058301555b815461073c9085611e32565b808355600583015461075591600a916106e09190611cf7565b600183015560028201546107699082611e32565b6002830155600b5461077b9082611e32565b600b556107b26001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386611e3e565b60408051858152602081018390526001600160a01b038516917f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc6910160405180910390a250505050565b600254156108485760405162461bcd60e51b8152602060048201526019602482015278115b5a5cdcda5bdb9cc8185b1c9958591e481cdd185c9d1959603a1b6044820152606401610541565b60008151116108885760405162461bcd60e51b815260206004820152600c60248201526b4e6f20656d697373696f6e7360a01b6044820152606401610541565b80516000805b828110156109945760008482815181106108aa576108aa612882565b6020026020010151600001511180156108e0575060008482815181106108d2576108d2612882565b602002602001015160200151115b61091f5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21032b6b4b9b9b4b7b760811b6044820152606401610541565b83818151811061093157610931612882565b6020026020010151602001518261094891906128ae565b9150600284828151811061095e5761095e612882565b6020908102919091018101518254600181810185556000948552938390208251600290920201908155910151908201550161088e565b50426004819055506109d3333083600a6000815481106109b6576109b6612882565b6000918252602090912001546001600160a01b0316929190611ea1565b610a026002600354815481106109eb576109eb612882565b906000526020600020906002020160000154611ec2565b600060086000600a600081548110610a1c57610a1c612882565b60009182526020808320909101546001600160a01b03168352820192909252604001902060035460028054929350918110610a5957610a59612882565b9060005260206000209060020201600101548160040181905550610ad7600a600081548110610a8a57610a8a612882565b9060005260206000200160009054906101000a90046001600160a01b0316600260035481548110610abd57610abd612882565b906000526020600020906002020160010154600654611ee7565b50505050565b610ae5611f91565b6001600160a01b038116610b0c5760405163274338ef60e11b815260040160405180910390fd5b6001600160a01b03811660009081526001602052604090205460ff16610b475780604051630ed580c760e41b81526004016105419190612654565b6001600160a01b038116600081815260016020526040808220805460ff19169055517fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f9190a250565b6001600160a01b03811660009081526001602052604081205460ff1680610bc457506000546001600160a01b038381169116145b92915050565b6001600160a01b038116600090815260086020526040812054428111610bf05780610bf2565b425b9392505050565b6040516331a9108f60e11b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610c5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8291906128c1565b6001600160a01b0316336001600160a01b031614610cd65760405162461bcd60e51b815260206004820152601160248201527026bab9ba1031329027232a1037bbb732b960791b6044820152606401610541565b610d3833600a805480602002602001604051908101604052809291908181526020018280548015610645576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106275750505050506119af565b336000908152600960205260409020600481015460ff1615610d965760405162461bcd60e51b815260206004820152601760248201527610985b185b98d948185b1c9958591e48189bdbdcdd1959604a1b6044820152606401610541565b6000610da183611d0f565b90506000610dc1600a6106e0848660010154611cf790919063ffffffff16565b90506000836001015482610dd591906128de565b600b54909150610de59082611feb565b600b556002840154610df79082611feb565b6002850155600384018590556004808501805460ff191660011790556040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91610e6191339130918b91016128f1565b600060405180830381600087803b158015610e7b57600080fd5b505af1158015610e8f573d6000803e3d6000fd5b50506040805160008152602081018590523393507f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9250015b60405180910390a25050505050565b610edf611f91565b6001600160a01b038116610f065760405163274338ef60e11b815260040160405180910390fd5b6001600160a01b03811660009081526001602052604090205460ff1615610f42578060405163f646f2cd60e01b81526004016105419190612654565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e3399190a250565b610f99611f91565b610fa36000611ff7565b565b600a8181548110610fb557600080fd5b6000918252602090912001546001600160a01b0316905081565b33600090815260056020526040902054421015610ffe5760405162461bcd60e51b815260040161054190612862565b61103b338383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119af92505050565b611077828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611bd392505050565b5050565b61108433612047565b61108d8161209e565b50565b61109933612047565b600081116110b95760405162461bcd60e51b815260040161054190612915565b8382146110f85760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610541565b611135308686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119af92505050565b8360005b818110156112c057600087878381811061115557611155612882565b905060200201602081019061116a919061261e565b9050600a60008154811061118057611180612882565b6000918252602090912001546001600160a01b03908116908216036111a557506112b8565b6001600160a01b038116600090815260086020526040902080546111db5760405162461bcd60e51b81526004016105419061293f565b61121333308989878181106111f2576111f2612882565b90506020020135856001600160a01b0316611ea1909392919063ffffffff16565b60006112908260040154846001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016112499190612654565b602060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a919061296d565b90611e32565b905061129d838288611ee7565b60048201546112ac9082611feb565b82600401819055505050505b600101611139565b50505050505050565b336001600160a01b03831614806113085750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6113245760405162461bcd60e51b815260040161054190612833565b600083116113655760405162461bcd60e51b815260206004820152600e60248201526d416d6f756e74206973207a65726f60901b6044820152606401610541565b6113c782600a805480602002602001604051908101604052809291908181526020018280548015610645576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106275750505050506119af565b6001600160a01b038216600090815260096020526040902080546113eb9085611feb565b8155611415600a61140f600585600281111561140957611409612986565b90611cf7565b90611feb565b60058201819055815461142e91600a916106e091611cf7565b60018201819055600482015460ff16156114665760006114518360030154611d0f565b9050611462600a6106e08484611cf7565b9150505b6114838161140f8460020154600b54611e3290919063ffffffff16565b600b5560028083018290556114b9906114ac9062278d0090869081111561140957611409612986565b61140f42624f1a00611feb565b6001600160a01b03808616600090815260056020526040902091909155611504907f000000000000000000000000000000000000000000000000000000000000000016333088611ea1565b60408051868152602081018390526001600160a01b038616917f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9101610ec8565b6002818154811061155557600080fd5b60009182526020909120600290910201805460019091015490915082565b600a546060906001600160401b03811115611590576115906124ef565b6040519080825280602002602001820160405280156115d557816020015b60408051808201909152600080825260208201528152602001906001900390816115ae5790505b50905060005b815181101561170257600a81815481106115f7576115f7612882565b9060005260206000200160009054906101000a90046001600160a01b031682828151811061162757611627612882565b6020026020010151600001906001600160a01b031690816001600160a01b0316815250506116da64e8d4a510006106e08585858151811061166a5761166a612882565b60200260200101516000015160096000896001600160a01b03166001600160a01b03168152602001908152602001600020600201546116d5600a88815481106116b5576116b5612882565b600091825260209091200154600b546001600160a01b03909116906121a9565b612241565b8282815181106116ec576116ec612882565b60209081029190910181015101526001016115db565b50919050565b61176a33600a805480602002602001604051908101604052809291908181526020018280548015610645576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106275750505050506119af565b3360009081526005602052604090205442106117e1576117e1600a8054806020026020016040519081016040528092919081815260200182805480156106b8576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161069a575050505050611bd3565b336000908152600960205260409020600481015460ff166118355760405162461bcd60e51b815260206004820152600e60248201526d139195081b9bdd081cdd185ad95960921b6044820152606401610541565b60008160010154826002015461184b91906128de565b600b5490915061185b9082611e32565b600b55600182015460028301556004808301805460ff1916905560038301546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926323b872dd926118c7923092339291016128f1565b600060405180830381600087803b1580156118e157600080fd5b505af11580156118f5573d6000803e3d6000fd5b50506040805160008152602081018590523393507f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc692500160405180910390a25050565b611941611f91565b6001600160a01b0381166119a65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610541565b61108d81611ff7565b805160005b81811015610ad75760008382815181106119d0576119d0612882565b6020908102919091018101516001600160a01b038116600090815260089092526040909120805491925090611a175760405162461bcd60e51b81526004016105419061293f565b6000611a2583600b546121a9565b600383018190559050611a3783610bca565b60028301556001600160a01b0387163014611ab7576001600160a01b038716600090815260096020526040902060020154611a76908890859084612241565b6001600160a01b03808916600081815260076020908152604080832094891680845294825280832095909555918152600c8252838120928152919052208190555b600a600081548110611acb57611acb612882565b6000918252602090912001546001600160a01b038481169116148015611af2575060025415155b15611bc8576000600260035481548110611b0e57611b0e612882565b90600052602060002090600202019050611b378160000154600454611feb90919063ffffffff16565b4210611bc65760038054906000611b4d8361299c565b90915550506002546003541015611bc657600260035481548110611b7357611b73612882565b9060005260206000209060020201905042600481905550611ba581600101548460040154611feb90919063ffffffff16565b60048401558054611bb590611ec2565b611bc6848260010154600654611ee7565b505b5050506001016119b4565b805160005b81811015611cf2576000838281518110611bf457611bf4612882565b6020908102919091018101513360009081526007835260408082206001600160a01b038416835290935291822054909250611c349064e8d4a51000611d03565b6001600160a01b0383166000908152600860205260409020600481015491925090611c5f9083611e32565b60048201556000829003611c7557505050611cea565b3360008181526007602090815260408083206001600160a01b0388168085529252822091909155611ca69184611e3e565b6040518281526001600160a01b0384169033907f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e9060200160405180910390a35050505b600101611bd8565b505050565b6000610bf282846129b5565b6000610bf282846129cc565b604051630284a7a560e51b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635094f4a090602401602060405180830381865afa158015611d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9d919061296d565b905080600003611db05750600f92915050565b80600103611dc15750600e92915050565b80600203611dd25750600d92915050565b80600303611de35750600c92915050565b80600403611df45750600b92915050565b60405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081d1bdad95b881b195d995b606a1b6044820152606401610541565b6000610bf282846128de565b6040516001600160a01b038316602482015260448101829052611cf290849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526122b2565b610ad7846323b872dd60e01b858585604051602401611e6a939291906128f1565b60008111611ee25760405162461bcd60e51b815260040161054190612915565b600655565b6001600160a01b038316600090815260086020526040902080544210611f2457611f1a826106e08564e8d4a51000611cf7565b6001820155611f78565b8054600090611f339042611e32565b90506000611f5764e8d4a510006106e0856001015485611cf790919063ffffffff16565b9050611f70846106e064e8d4a510006114098986611feb565b600184015550505b4260028201819055611f8a9083611feb565b9055505050565b6000546001600160a01b03163314610fa35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610541565b6000610bf282846128ae565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811660009081526001602052604090205460ff1615801561207e57506000546001600160a01b03828116911614155b1561108d5780604051636d3f049f60e01b81526004016105419190612654565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03160361211f5760405162461bcd60e51b815260206004820152601b60248201527f5374616b696e6720746f6b656e206973206e6f742072657761726400000000006044820152606401610541565b6001600160a01b0381166000908152600860205260409020600201541561214557600080fd5b600a8054600181019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b039092166001600160a01b031990921682179055600090815260086020526040902042600282018190559055565b6000816000036121d557506001600160a01b038216600090815260086020526040902060030154610bc4565b6001600160a01b03831660009081526008602052604090206001810154600290910154610bf29161221f9185916106e091670de0b6b3a76400009161140991829061128a8c610bca565b6001600160a01b03851660009081526008602052604090206003015490611feb565b6001600160a01b03808516600081815260076020908152604080832094881680845294825280832054938352600c8252808320948352939052918220546122a7919061140f90670de0b6b3a7640000906106e0906122a0908890611e32565b8890611cf7565b90505b949350505050565b6000612307826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123879092919063ffffffff16565b905080516000148061232857508080602001905181019061232891906129ee565b611cf25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610541565b60606122aa848460008585600080866001600160a01b031685876040516123ae9190612a34565b60006040518083038185875af1925050503d80600081146123eb576040519150601f19603f3d011682016040523d82523d6000602084013e6123f0565b606091505b50915091506124018783838761240c565b979650505050505050565b6060831561247b578251600003612474576001600160a01b0385163b6124745760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610541565b50816122aa565b6122aa83838151156124905781518083602001fd5b8060405162461bcd60e51b81526004016105419190612a50565b6001600160a01b038116811461108d57600080fd5b600080604083850312156124d257600080fd5b8235915060208301356124e4816124aa565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612527576125276124ef565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612555576125556124ef565b604052919050565b6000602080838503121561257057600080fd5b82356001600160401b038082111561258757600080fd5b818501915085601f83011261259b57600080fd5b8135818111156125ad576125ad6124ef565b6125bb848260051b0161252d565b818152848101925060069190911b8301840190878211156125db57600080fd5b928401925b8184101561240157604084890312156125f95760008081fd5b612601612505565b8435815285850135868201528352604090930192918401916125e0565b60006020828403121561263057600080fd5b8135610bf2816124aa565b60006020828403121561264d57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b60008083601f84011261267a57600080fd5b5081356001600160401b0381111561269157600080fd5b6020830191508360208260051b85010111156126ac57600080fd5b9250929050565b600080602083850312156126c657600080fd5b82356001600160401b038111156126dc57600080fd5b6126e885828601612668565b90969095509350505050565b60008060008060006060868803121561270c57600080fd5b85356001600160401b038082111561272357600080fd5b61272f89838a01612668565b9097509550602088013591508082111561274857600080fd5b5061275588828901612668565b96999598509660400135949350505050565b60008060006060848603121561277c57600080fd5b83359250602084013561278e816124aa565b91506040840135600381106127a257600080fd5b809150509250925092565b602080825282518282018190526000919060409081850190868401855b828110156127f857815180516001600160a01b031685528601518685015292840192908501906001016127ca565b5091979650505050505050565b6000806040838503121561281857600080fd5b8235612823816124aa565b915060208301356124e4816124aa565b6020808252601590820152742737ba103bb4ba34323930bbb4b7339030b236b4b760591b604082015260600190565b602080825260069082015265131bd8dad95960d21b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115610bc457610bc4612898565b6000602082840312156128d357600080fd5b8151610bf2816124aa565b81810381811115610bc457610bc4612898565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60208082526010908201526f4475726174696f6e206973207a65726f60801b604082015260600190565b6020808252601490820152732ab735b737bbb7103932bbb0b932103a37b5b2b760611b604082015260600190565b60006020828403121561297f57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000600182016129ae576129ae612898565b5060010190565b8082028115828204841417610bc457610bc4612898565b6000826129e957634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612a0057600080fd5b81518015158114610bf257600080fd5b60005b83811015612a2b578181015183820152602001612a13565b50506000910152565b60008251612a46818460208701612a10565b9190910192915050565b6020815260008251806020840152612a6f816040850160208701612a10565b601f01601f1916919091016040019291505056fea2646970667358221220c4ce95f66c808ce39f9372df5381fd256a255cb4e75904c06a73d08680d7ebd864736f6c634300081700330000000000000000000000006a153fff0226fe3cba72a27b2b36013a97aa8ed00000000000000000000000000cc2120d12efe0cf15bf37694a67a2f4c2ead236000000000000000000000000bab2d2bc8336c3b351536cdab67a086ba7fee257000000000000000000000000000000000000000000000000000000000000dead