0 txs
7 calls
constructor
No constructor.
functions
addressList
viewfunction addressList(uint256, uint256) view returns (address)
autoBsw
viewfunction autoBsw() view returns (address)
dealToken
viewfunction dealToken() view returns (address)
endBlock
viewfunction endBlock() view returns (uint256)
getParticipatorsLength
viewfunction getParticipatorsLength() view returns (uint256[] participatorsLength)
getUserInfo
viewfunction getUserInfo(address user) view returns (tuple userInfoFront)
HARVEST_PERIODS
viewfunction HARVEST_PERIODS() view returns (uint256)
harvestReleaseBlocks
viewfunction harvestReleaseBlocks(uint256) view returns (uint256)
offeringToken
viewfunction offeringToken() view returns (address)
owner
viewfunction owner() view returns (address)
POOLS_NUMBER
viewfunction POOLS_NUMBER() view returns (uint8)
startBlock
viewfunction startBlock() view returns (uint256)
vestingBlockOffset
viewfunction vestingBlockOffset() view returns (uint256)
depositPool
nonpayablefunction depositPool(uint256 _amount, uint8 _pid)
finalWithdraw
nonpayablefunction finalWithdraw(uint256 _dealTokenAmount, uint256 _offerAmount)
harvestAllPools
nonpayablefunction harvestAllPools()
harvestPool
nonpayablefunction harvestPool(uint8 _pid, uint256 _harvestPeriod)
initialize
nonpayablefunction initialize(address _dealToken, address _offeringToken, uint256 _startBlock, uint256 _endBlock, uint256 _vestingBlockOffset, address _autoBsw)
recoverWrongTokens
nonpayablefunction recoverWrongTokens(address _tokenAddress, uint256 _tokenAmount)
renounceOwnership
nonpayablefunction renounceOwnership()
setAutoBswAddress
nonpayablefunction setAutoBswAddress(address _autoBsw)
setPool
nonpayablefunction setPool(tuple _pool, uint8 _pid)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateStartAndEndBlocks
nonpayablefunction updateStartAndEndBlocks(uint256 _startBlock, uint256 _endBlock)
events
AdminTokenRecovery
event AdminTokenRecovery(address tokenAddress, uint256 amountTokens)
AdminWithdraw
event AdminWithdraw(uint256 amountDealToken, uint256 amountOfferingToken)
Deposit
event Deposit(address indexed user, uint256 amount, uint8 indexed pid)
Harvest
event Harvest(address indexed user, uint256 offeringAmount, uint256 excessAmount, uint8 indexed pid, uint256 indexed harvestPeriod)
NewStartAndEndBlocks
event NewStartAndEndBlocks(uint256 startBlock, uint256 endBlock)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolParametersSet
event PoolParametersSet(uint8 pid)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50612f33806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063715018a6116100c3578063b1a5d12d1161007c578063b1a5d12d146102c0578063b49bb8c3146102d3578063b7813607146102e6578063db496fda146102f9578063f2fde38b1461030c578063fa1f87d51461031f57600080fd5b8063715018a61461025b5780637f1bdd76146102635780638da5cb5b146102765780639513997f146102875780639b3933ed1461029a5780639f1b5248146102ad57600080fd5b806348cd4cb11161011557806348cd4cb1146101e95780635010a349146101f25780635280c3ee146101fb57806353d931f81461020e5780635fa492e7146102285780636386c1c71461023b57600080fd5b8063083c63231461015d5780630e1da786146101795780631025bff8146101815780633ba953be146101945780633f138d4b146101a95780633f567904146101be575b600080fd5b61016660ac5481565b6040519081526020015b60405180910390f35b610166600581565b61016661018f3660046128a4565b610327565b61019c61033e565b60405161017091906128bd565b6101bc6101b7366004612916565b6103b4565b005b6097546101d1906001600160a01b031681565b6040516001600160a01b039091168152602001610170565b61016660ab5481565b61016660ad5481565b6098546101d1906001600160a01b031681565b610216600281565b60405160ff9091168152602001610170565b6101bc610236366004612958565b6104f5565b61024e610249366004612993565b610684565b6040516101709190612ab9565b6101bc610caa565b6101bc610271366004612b4f565b610ce0565b6065546001600160a01b03166101d1565b6101bc610295366004612b72565b61110f565b6101bc6102a8366004612993565b6112d9565b6101bc6102bb366004612b72565b611373565b6101bc6102ce366004612b94565b61159a565b6101d16102e1366004612b72565b611822565b6099546101d1906001600160a01b031681565b6101bc610307366004612bfb565b61185d565b6101bc61031a366004612993565b611c26565b6101bc611cc1565b60a6816005811061033757600080fd5b0154905081565b604080516002808252606080830184529260208301908036833701905050905060005b60028110156103b05760af816002811061037d5761037d612c17565b0154825183908390811061039357610393612c17565b6020908102919091010152806103a881612c43565b915050610361565b5090565b6065546001600160a01b031633146103e75760405162461bcd60e51b81526004016103de90612c5e565b60405180910390fd5b6098546001600160a01b038381169116141561043c5760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba103132903232b0b6103a37b5b2b760611b60448201526064016103de565b6099546001600160a01b038381169116141561049a5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f74206265206f66666572696e6720746f6b656e000000000000000060448201526064016103de565b6104ae6001600160a01b0383163383611e84565b604080516001600160a01b0384168152602081018390527f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab7812991015b60405180910390a15050565b6065546001600160a01b0316331461051f5760405162461bcd60e51b81526004016103de90612c5e565b60ab5443106105625760405162461bcd60e51b815260206004820152600f60248201526e125113c81a185cc81cdd185c9d1959608a1b60448201526064016103de565b600260ff8216106105ab5760405162461bcd60e51b8152602060048201526013602482015272141bdbdb08191bd95cc81b9bdd08195e1a5cdd606a1b60448201526064016103de565b6000609a8260ff16600281106105c3576105c3612c17565b6006020160040154905082609a8360ff16600281106105e4576105e4612c17565b600602016106278282813581556020820135600182015560408201356002820155606082013560038201556080820135600482015560a082013560058201555050565b90505080609a8360ff166002811061064157610641612c17565b600602016004015560405160ff831681527f8b5006a6aaa46bd3850939a1b88aa6ab99332ce6589a50a6c592d78f78b9dfdd9060200160405180910390a1505050565b61068c61274c565b6001600160a01b038216600090815260ae602052604080822081518083019092529091600290835b82821015610749576040805160608101825260038402860180548252825160a08101938490529192909160208401916001840190600590826000855b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116106f0575050509284525050506002919091015460ff16151560209182015290825260019290920191016106b4565b50505050602082015260408051808201909152609a60026000835b828210156107c8578382600602016040518060c0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505081526020019060010190610764565b5050509082525060005b600260ff82161015610a03576107e88382611eec565b83604001518360ff166002811061080157610801612c17565b6020020184606001518460ff166002811061081e5761081e612c17565b602002019190915252609a60ff82166002811061083d5761083d612c17565b6006020154609a60ff83166002811061085857610858612c17565b600602016004015411801561088b575081602001518160ff166002811061088157610881612c17565b6020020151604001515b156109f157600080609a8360ff16600281106108a9576108a9612c17565b6006020160040154116108bd576000610913565b609a8260ff16600281106108d3576108d3612c17565b600602016004015483602001518360ff16600281106108f4576108f4612c17565b6020020151516109099064e8d4a51000612c93565b6109139190612cb2565b905064e8d4a5100081609a8460ff166002811061093257610932612c17565b60060201600101546109449190612c93565b61094e9190612cb2565b83604001518360ff166002811061096757610967612c17565b6020020152600064e8d4a5100082609a60ff86166002811061098b5761098b612c17565b600602015461099a9190612c93565b6109a49190612cb2565b90508084602001518460ff16600281106109c0576109c0612c17565b6020020151516109d09190612cd4565b84606001518460ff16600281106109e9576109e9612c17565b602002015250505b806109fb81612ceb565b9150506107d2565b506098546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a082319060240160206040518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a819190612d0b565b60a082015260975460408051633a98ef3960e01b815290516001600160a01b0390921691633a98ef3991600480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b039190612d0b565b609754604051630cacd00160e11b81526001600160a01b03858116600483015290911690631959a0029060240160806040518083038186803b158015610b4857600080fd5b505afa158015610b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b809190612d24565b516097546040805163722713f760e01b815290516001600160a01b039092169163722713f791600480820192602092909190829003018186803b158015610bc657600080fd5b505afa158015610bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfe9190612d0b565b610c089190612c93565b610c129190612cb2565b60c082015260ab5460e082015260ac5461010082015260005b6005811015610ca4574360a68260058110610c4857610c48612c17565b015410610c74574360a68260058110610c6357610c63612c17565b0154610c6f9190612cd4565b610c77565b60005b82608001518260058110610c8d57610c8d612c17565b602002015280610c9c81612c43565b915050610c2b565b50919050565b6065546001600160a01b03163314610cd45760405162461bcd60e51b81526004016103de90612c5e565b610cde60006120f0565b565b60026001541415610d335760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103de565b6002600155333214610d575760405162461bcd60e51b81526004016103de90612d98565b333b15610d765760405162461bcd60e51b81526004016103de90612dcf565b600260ff821610610dbd5760405162461bcd60e51b8152602060048201526011602482015270139bdb881d985b1a59081c1bdbdb081a59607a1b60448201526064016103de565b6000609a8260ff1660028110610dd557610dd5612c17565b33600090815260ae6020526040812060069290920292909201925060ff841660028110610e0457610e04612c17565b60030201905060008260010154118015610e1e5750815415155b610e595760405162461bcd60e51b815260206004820152600c60248201526b141bdbdb081b9bdd081cd95d60a21b60448201526064016103de565b60ab544311610e965760405162461bcd60e51b8152602060048201526009602482015268546f6f206561726c7960b81b60448201526064016103de565b60ac544310610ed25760405162461bcd60e51b8152602060048201526008602482015267546f6f206c61746560c01b60448201526064016103de565b60008411610f175760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b60448201526064016103de565b610f24338460ff16612142565b610f705760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f7567682042535720696e20686f6c64657220706f6f6c00000060448201526064016103de565b60028201548154610f82908690612dfd565b1015610fde5760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74206973206c657373207468616e20746865206d696e696d756d206044820152641b1a5b5a5d60da1b60648201526084016103de565b60038201548154610ff0908690612dfd565b111561103e5760405162461bcd60e51b815260206004820152601b60248201527f4e657720616d6f756e742061626f76652075736572206c696d6974000000000060448201526064016103de565b609854611056906001600160a01b03163330876123fe565b80546110975760af8360ff166002811061107257611072612c17565b018054600181018255600091825260209091200180546001600160a01b031916331790555b838160000160008282546110ab9190612dfd565b92505081905550838260040160008282546110c69190612dfd565b909155505060405184815260ff84169033907ff763e680fce25a97ffd55d8b705370c98b47b2285f7b3b2900c43606fd4180459060200160405180910390a35050600180555050565b6065546001600160a01b031633146111395760405162461bcd60e51b81526004016103de90612c5e565b60ab54431061117c5760405162461bcd60e51b815260206004820152600f60248201526e125113c81a185cc81cdd185c9d1959608a1b60448201526064016103de565b8082106111e25760405162461bcd60e51b815260206004820152602e60248201527f4e6577207374617274426c6f636b206d757374206265206c6f7765722074686160448201526d6e206e657720656e64426c6f636b60901b60648201526084016103de565b81431061124a5760405162461bcd60e51b815260206004820152603060248201527f4e6577207374617274426c6f636b206d7573742062652068696768657220746860448201526f616e2063757272656e7420626c6f636b60801b60648201526084016103de565b60ab82905560ac81905560005b60058110156112a2578060ad5461126e9190612c93565b60ac5461127b9190612dfd565b60a6826005811061128e5761128e612c17565b01558061129a81612c43565b915050611257565b5060408051838152602081018390527f7cd0ab87d19036f3dfadadb232c78aa4879dda3f0c994a9d637532410ee2ce0691016104e9565b6065546001600160a01b031633146113035760405162461bcd60e51b81526004016103de90612c5e565b6001600160a01b0381166113515760405162461bcd60e51b815260206004820152601560248201527443616e6e74206265207a65726f206164647265737360581b60448201526064016103de565b609780546001600160a01b0319166001600160a01b0392909216919091179055565b6065546001600160a01b0316331461139d5760405162461bcd60e51b81526004016103de90612c5e565b6098546040516370a0823160e01b81523060048201526001600160a01b03909116906370a082319060240160206040518083038186803b1580156113e057600080fd5b505afa1580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190612d0b565b8211156114605760405162461bcd60e51b81526020600482015260166024820152754e6f7420656e6f756768206465616c20746f6b656e7360501b60448201526064016103de565b6099546040516370a0823160e01b81523060048201526001600160a01b03909116906370a082319060240160206040518083038186803b1580156114a357600080fd5b505afa1580156114b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114db9190612d0b565b81111561152a5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f756768206f66666572696e6720746f6b656e0000000000000060448201526064016103de565b811561154757609854611547906001600160a01b03163384611e84565b801561156457609954611564906001600160a01b03163383611e84565b60408051838152602081018390527f94ebb62a252249c867ecb758d386f50a95be7e8df9e1c52917c9cf494327dd7d91016104e9565b600054610100900460ff166115b55760005460ff16156115b9565b303b155b61161c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103de565b600054610100900460ff1615801561163e576000805461ffff19166101011790555b856001600160a01b0316876001600160a01b031614156116a05760405162461bcd60e51b815260206004820152601860248201527f546f6b656e73206d75737420626520646966666572656e74000000000000000060448201526064016103de565b4385116116ff5760405162461bcd60e51b815260206004820152602760248201527f537461727420626c6f636b206d757374206265206e6577657374207468616e2060448201526618dd5c9c995b9d60ca1b60648201526084016103de565b8484116117605760405162461bcd60e51b815260206004820152602960248201527f456e6420626c6f636b206d757374206265206e6577657374207468616e205f7360448201526874617274426c6f636b60b81b60648201526084016103de565b609880546001600160a01b03808a166001600160a01b0319928316179092556099805489841690831617905560ab87905560ac86905560ad859055609780549285169290911691909117905560005b60058110156117f6576117c28185612c93565b60ac546117cf9190612dfd565b60a682600581106117e2576117e2612c17565b0155806117ee81612c43565b9150506117af565b506117ff61243c565b61180761246b565b8015611819576000805461ff00191690555b50505050505050565b60af826002811061183257600080fd5b01818154811061184157600080fd5b6000918252602090912001546001600160a01b03169150829050565b600260015414156118b05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103de565b60026001553332146118d45760405162461bcd60e51b81526004016103de90612d98565b333b156118f35760405162461bcd60e51b81526004016103de90612dcf565b600581106119435760405162461bcd60e51b815260206004820152601b60248201527f6861727665737420706572696f64206f7574206f662072616e6765000000000060448201526064016103de565b611950338360ff16612142565b61199c5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f7567682042535720696e20686f6c64657220706f6f6c00000060448201526064016103de565b60a681600581106119af576119af612c17565b015443116119f25760405162461bcd60e51b815260206004820152601060248201526f6e6f7420686172766573742074696d6560801b60448201526064016103de565b600260ff831610611a395760405162461bcd60e51b8152602060048201526011602482015270139bdb881d985b1a59081c1bdbdb081a59607a1b60448201526064016103de565b33600090815260ae6020526040812060ff841660028110611a5c57611a5c612c17565b600302018054909150611aa75760405162461bcd60e51b8152602060048201526013602482015272446964206e6f7420706172746963697061746560681b60448201526064016103de565b806001018260058110611abc57611abc612c17565b602081049091015460ff601f9092166101000a90041615611b2a5760405162461bcd60e51b815260206004820152602260248201527f6861727665737420666f7220706572696f6420616c726561647920636c61696d604482015261195960f21b60648201526084016103de565b600080611b373386611eec565b915091506001836001018560058110611b5257611b52612c17565b602091828204019190066101000a81548160ff021916908315150217905550600081118015611b865750600283015460ff16155b15611bb15760028301805460ff19166001179055609854611bb1906001600160a01b03163383611e84565b8115611bd957611bd933611bc6600585612cb2565b6099546001600160a01b03169190611e84565b6040805183815260208101839052859160ff88169133917fb59f6f089ac4799246eff38900b8ca6f7a9dcfb7c270ac999219e0f5d2718e7b910160405180910390a4505060018055505050565b6065546001600160a01b03163314611c505760405162461bcd60e51b81526004016103de90612c5e565b6001600160a01b038116611cb55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103de565b611cbe816120f0565b50565b333214611ce05760405162461bcd60e51b81526004016103de90612d98565b333b15611cff5760405162461bcd60e51b81526004016103de90612dcf565b33600090815260ae60205260408082208151808301909252600283835b82821015611db1576040805160608101825260038402860180548252825160a08101938490529192909160208401916001840190600590826000855b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411611d58575050509284525050506002919091015460ff1615156020918201529082526001929092019101611d1c565b50505050905060005b600260ff82161015611e805760005b6005811015611e6d576000838360ff1660028110611de957611de9612c17565b602002015151118015611e2d5750828260ff1660028110611e0c57611e0c612c17565b6020020151602001518160058110611e2657611e26612c17565b6020020151155b8015611e4c575060a68160058110611e4757611e47612c17565b015443115b15611e5b57611e5b828261185d565b80611e6581612c43565b915050611dc9565b5080611e7881612ceb565b915050611dba565b5050565b6040516001600160a01b038316602482015260448101829052611ee790849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261249a565b505050565b6000806000609a8460ff1660028110611f0757611f07612c17565b600602016040518060c001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815250509050600060ae6000876001600160a01b03166001600160a01b031681526020019081526020016000208560ff1660028110611f8f57611f8f612c17565b604080516060810182526003929092029290920180548252825160a08101938490529192909160208401916001840190600590826000855b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411611fc7575050509284525050506002919091015460ff1615156020909101528251608084015191925010156120c357600080836080015111612034576000612054565b6080830151825161204a9064e8d4a51000612c93565b6120549190612cb2565b905064e8d4a5100081846020015161206c9190612c93565b6120769190612cb2565b9450600064e8d4a510008285600001516120909190612c93565b61209a9190612cb2565b905082604001516120b75782516120b2908290612cd4565b6120ba565b60005b945050506120e7565b815160208301518251600095506120da9190612c93565b6120e49190612cb2565b93505b50509250929050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000600282106121885760405162461bcd60e51b815260206004820152601160248201527017dc1a59081bdd5d081bd988189bdd5b99607a1b60448201526064016103de565b60975460408051633a98ef3960e01b815290516000926001600160a01b031691633a98ef39916004808301926020929190829003018186803b1580156121cd57600080fd5b505afa1580156121e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122059190612d0b565b116122495760405162461bcd60e51b81526020600482015260146024820152736e6f207374616b657320696e206175746f42535760601b60448201526064016103de565b60975460408051633a98ef3960e01b815290516000926001600160a01b031691633a98ef39916004808301926020929190829003018186803b15801561228e57600080fd5b505afa1580156122a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c69190612d0b565b609754604051630cacd00160e11b81526001600160a01b03878116600483015290911690631959a0029060240160806040518083038186803b15801561230b57600080fd5b505afa15801561231f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123439190612d24565b516097546040805163722713f760e01b815290516001600160a01b039092169163722713f791600480820192602092909190829003018186803b15801561238957600080fd5b505afa15801561239d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c19190612d0b565b6123cb9190612c93565b6123d59190612cb2565b9050609a83600281106123ea576123ea612c17565b600602016005015481101591505092915050565b6040516001600160a01b03808516602483015283166044820152606481018290526124369085906323b872dd60e01b90608401611eb0565b50505050565b600054610100900460ff166124635760405162461bcd60e51b81526004016103de90612e15565b610cde61256c565b600054610100900460ff166124925760405162461bcd60e51b81526004016103de90612e15565b610cde612599565b60006124ef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166125c99092919063ffffffff16565b805190915015611ee7578080602001905181019061250d9190612e60565b611ee75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016103de565b600054610100900460ff166125935760405162461bcd60e51b81526004016103de90612e15565b60018055565b600054610100900460ff166125c05760405162461bcd60e51b81526004016103de90612e15565b610cde336120f0565b60606125d884846000856125e2565b90505b9392505050565b6060824710156126435760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103de565b6001600160a01b0385163b61269a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103de565b600080866001600160a01b031685876040516126b69190612eae565b60006040518083038185875af1925050503d80600081146126f3576040519150601f19603f3d011682016040523d82523d6000602084013e6126f8565b606091505b5091509150612708828286612713565b979650505050505050565b606083156127225750816125db565b8251156127325782518084602001fd5b8160405162461bcd60e51b81526004016103de9190612eca565b6040518061012001604052806127606127b6565b815260200161276d612814565b815260200161277a612841565b8152602001612787612841565b815260200161279461285f565b8152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002905b6127fe6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8152602001906001900390816127c55790505090565b60405180604001604052806002905b61282b61287d565b8152602001906001900390816128235790505090565b60405180604001604052806002906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b60405180606001604052806000815260200161289761285f565b8152600060209091015290565b6000602082840312156128b657600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156128f5578351835292840192918401916001016128d9565b50909695505050505050565b6001600160a01b0381168114611cbe57600080fd5b6000806040838503121561292957600080fd5b823561293481612901565b946020939093013593505050565b803560ff8116811461295357600080fd5b919050565b60008082840360e081121561296c57600080fd5b60c081121561297a57600080fd5b5082915061298a60c08401612942565b90509250929050565b6000602082840312156129a557600080fd5b81356125db81612901565b8060005b6002811015612436578151805185526020808201518187015260408083015190870152606080830151908701526080808301519087015260a0918201519186019190915260c090940193909101906001016129b4565b806000805b6002811015612a6c57825180518652602080820151818801855b6005811015612a48578251151582529183019190830190600101612a29565b50505060409190910151151560c087015260e0909501949290920191600101612a0f565b5050505050565b8060005b6002811015612436578151845260209384019390910190600101612a77565b8060005b6005811015612436578151845260209384019390910190600101612a9a565b60006104e082019050612acd8284516129b0565b6020830151612ae0610180840182612a0a565b506040830151612af4610340840182612a73565b506060830151612b08610380840182612a73565b506080830151612b1c6103c0840182612a96565b5060a083015161046083015260c083015161048083015260e08301516104a0830152610100909201516104c09091015290565b60008060408385031215612b6257600080fd5b8235915061298a60208401612942565b60008060408385031215612b8557600080fd5b50508035926020909101359150565b60008060008060008060c08789031215612bad57600080fd5b8635612bb881612901565b95506020870135612bc881612901565b945060408701359350606087013592506080870135915060a0870135612bed81612901565b809150509295509295509295565b60008060408385031215612c0e57600080fd5b61293483612942565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612c5757612c57612c2d565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000816000190483118215151615612cad57612cad612c2d565b500290565b600082612ccf57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015612ce657612ce6612c2d565b500390565b600060ff821660ff811415612d0257612d02612c2d565b60010192915050565b600060208284031215612d1d57600080fd5b5051919050565b600060808284031215612d3657600080fd5b6040516080810181811067ffffffffffffffff82111715612d6757634e487b7160e01b600052604160045260246000fd5b8060405250825181526020830151602082015260408301516040820152606083015160608201528091505092915050565b6020808252601a908201527f50726f787920636f6e7472616374206e6f7420616c6c6f776564000000000000604082015260600190565b60208082526014908201527310dbdb9d1c9858dd081b9bdd08185b1b1bddd95960621b604082015260600190565b60008219821115612e1057612e10612c2d565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215612e7257600080fd5b815180151581146125db57600080fd5b60005b83811015612e9d578181015183820152602001612e85565b838111156124365750506000910152565b60008251612ec0818460208701612e82565b9190910192915050565b6020815260008251806020840152612ee9816040850160208701612e82565b601f01601f1916919091016040019291505056fea264697066735822122030d681fcb72029af80875f50264f5aa85292f28ef59d7e58307078f90d4b052e64736f6c63430008090033