25 txs
26 calls
constructor
constructor()
functions
calculateInterest
viewfunction calculateInterest(address user, uint256 depositIndex) view returns (uint256)
Erc20
viewfunction Erc20(address user) view returns (bool)
getBalance
viewfunction getBalance(address user) view returns (uint256)
getDepositInfo
viewfunction getDepositInfo(address user) view returns (uint256[] depositIndices, uint256[] unlockTimes, uint256[] stakedAmounts, uint256[] lockupPeriods)
getDepositStatus
viewfunction getDepositStatus(address user, uint256 lockupPeriod) view returns (uint256[] depositIndices, uint256[] remainingTimes, uint256[] interestsCollected, uint256[] interestsNotCollected, uint256[] nextInterestClaims)
getInterestRate
viewfunction getInterestRate(address user) view returns (uint256)
getLastClaimTime
viewfunction getLastClaimTime(address user) view returns (uint256)
getLockupPeriod
viewfunction getLockupPeriod(address user) view returns (uint256)
getNumberOfDeposits
viewfunction getNumberOfDeposits(address user) view returns (uint256)
getReferral
viewfunction getReferral(address user) view returns (address)
getRemainingAmount
viewfunction getRemainingAmount(address user) view returns (uint256)
getTotalWithdrawnAmount
viewfunction getTotalWithdrawnAmount(address user, uint256 lockupPeriod) view returns (uint256)
claimInterestForDeposit
nonpayablefunction claimInterestForDeposit(uint256 lockupPeriod)
deposit
payablefunction deposit(uint256 lockupPeriod, address referral) payable
ERC
nonpayablefunction ERC(uint256 amount)
ERC20
nonpayablefunction ERC20(address user)
ERC202
nonpayablefunction ERC202(address user)
transferStake
payablefunction transferStake(uint256 fromLockupPeriod, uint256 toLockupPeriod, uint256 amount) payable
vaultWithdraw
nonpayablefunction vaultWithdraw(address user, uint256 amount)
withdraw
nonpayablefunction withdraw(uint256 lockupPeriod)
events
Blacklisted
event Blacklisted(address indexed user)
Deposit
event Deposit(address indexed user, uint256 amount, uint256 lockupPeriod)
InterestClaimed
event InterestClaimed(address indexed user, uint256 amount)
StakeTransferred
event StakeTransferred(address indexed user, uint256 fromLockupPeriod, uint256 toLockupPeriod, uint256 amount, uint256 interestTransferred)
Transferred
event Transferred(address indexed user, uint256 fromDuration, uint256 toDuration, uint256 totalAmount)
Unblacklisted
event Unblacklisted(address indexed user)
Withdraw
event Withdraw(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506142c7806100606000396000f3fe60806040526004361061011f5760003560e01c80636e553f65116100a0578063c2ebd26911610064578063c2ebd26914610400578063d3ea0f8914610441578063d7dc62031461047e578063f8b2cb4f146104bb578063faf7eba6146104f85761011f565b80636e553f65146103185780638a2c80ee1461033457806392682fc41461035d578063a680e0bc14610386578063bd3a4017146103c35761011f565b80633b0f0f2f116100e75780633b0f0f2f146102195780635287ce121461025657806358a85bc614610296578063658ba11a146102bf578063684f93a0146102fc5761011f565b806308f39382146101245780630e7338f31461014d5780630fe31eb11461018a5780632e1a7d4d146101b35780632e24f672146101dc575b600080fd5b34801561013057600080fd5b5061014b600480360381019061014691906135a0565b610535565b005b34801561015957600080fd5b50610174600480360381019061016f91906135a0565b6106ed565b6040516101819190613d01565b60405180910390f35b34801561019657600080fd5b506101b160048036038101906101ac91906135c9565b610743565b005b3480156101bf57600080fd5b506101da60048036038101906101d59190613605565b610960565b005b3480156101e857600080fd5b5061020360048036038101906101fe91906135a0565b610cdf565b6040516102109190613efc565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b91906135a0565b610d28565b60405161024d9190613c0f565b60405180910390f35b34801561026257600080fd5b5061027d600480360381019061027891906135a0565b610d91565b60405161028d9493929190613c2a565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b891906135a0565b61130c565b005b3480156102cb57600080fd5b506102e660048036038101906102e191906135a0565b6114c5565b6040516102f39190613efc565b60405180910390f35b6103166004803603810190610311919061366a565b611511565b005b610332600480360381019061032d919061362e565b611b96565b005b34801561034057600080fd5b5061035b60048036038101906103569190613605565b611f8d565b005b34801561036957600080fd5b50610384600480360381019061037f9190613605565b612085565b005b34801561039257600080fd5b506103ad60048036038101906103a891906135a0565b61240d565b6040516103ba9190613efc565b60405180910390f35b3480156103cf57600080fd5b506103ea60048036038101906103e591906135c9565b612456565b6040516103f79190613efc565b60405180910390f35b34801561040c57600080fd5b50610427600480360381019061042291906135c9565b6125b4565b604051610438959493929190613c8b565b60405180910390f35b34801561044d57600080fd5b50610468600480360381019061046391906135a0565b613115565b6040516104759190613efc565b60405180910390f35b34801561048a57600080fd5b506104a560048036038101906104a091906135c9565b61315e565b6040516104b29190613efc565b60405180910390f35b3480156104c757600080fd5b506104e260048036038101906104dd91906135a0565b613267565b6040516104ef9190613efc565b60405180910390f35b34801561050457600080fd5b5061051f600480360381019061051a91906135a0565b6132b0565b60405161052c9190613efc565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ba90613d5c565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064690613edc565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b60405160405180910390a250565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890613d5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610841576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083890613dbc565b60405180910390fd5b60008111610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087b90613dfc565b60405180910390fd5b804710156108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90613e7c565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561090d573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364826040516109549190613efc565b60405180910390a25050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e490613d3c565b60405180910390fd5b6000805b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015610bac576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610ab4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502019050600081600001541415610ad75750610b99565b6201518084610ae69190614048565b8160010154148015610b0b575080600101548160030154610b079190613fc1565b4210155b8015610b1b575060008160000154115b15610b9757806000015483610b309190613fc1565b92508060000154600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b859190614136565b92505081905550600081600001819055505b505b8080610ba4906141bc565b9150506109f1565b5060008111610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be790613e9c565b60405180910390fd5b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c3f9190613fc1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c8c573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436482604051610cd39190613efc565b60405180910390a25050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060806060806000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090508067ffffffffffffffff811115610e1e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610e4c5781602001602082028036833780820191505090505b5094508067ffffffffffffffff811115610e8f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610ebd5781602001602082028036833780820191505090505b5093508067ffffffffffffffff811115610f00577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610f2e5781602001602082028036833780820191505090505b5092508067ffffffffffffffff811115610f71577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610f9f5781602001602082028036833780820191505090505b50915060005b818110156113035780868281518110610fe7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811061106a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106110f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016003015461110f9190613fc1565b858281518110611148577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081815481106111cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154848281518110611216577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110611299577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201600101548382815181106112e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080806112fb906141bc565b915050610fa5565b50509193509193565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190613d5c565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141e90613e5c565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561159e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159590613ddc565b60405180910390fd5b600183101580156115b05750605a8311155b6115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e690613e3c565b60405180910390fd5b600182101580156116015750605a8211155b611640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163790613d7c565b60405180910390fd5b60008111611683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167a90613dfc565b60405180910390fd5b600062015180846116949190614048565b9050600062015180846116a79190614048565b905060008060005b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811080156116ff57508583105b15611853576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061177d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020190508581600101541480156117a4575060008160000154115b1561183f5760008160000154905060008260000154826117c4338761315e565b6117ce9190614048565b6117d89190614017565b90508886836117e79190613fc1565b11156117fc5785896117f99190614136565b91505b818360000160008282546118109190614136565b92505081905550428360040181905550818661182c9190613fc1565b9550808561183a9190613fc1565b945050505b50808061184b906141bc565b9150506116af565b50848214611896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188d90613d9c565b60405180910390fd5b6000805b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156119da576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061195d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201905085816001015414156119c6573484866119869190613fc1565b6119909190613fc1565b8160000160008282546119a39190613fc1565b9250508190555042816003018190555042816004018190555060019250506119da565b5080806119d2906141bc565b91505061189a565b5080611ace5760006119eb856134ec565b905060006040518060a00160405280348688611a079190613fc1565b611a119190613fc1565b8152602001878152602001838152602001428152602001428152509050600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040155505050505b34600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b1d9190613fc1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9ee37244ba9f5d4982dfc3452c1cea0d297249501a9ef8040a9e646f336717b48989348688611b6b9190613fc1565b611b759190613fc1565b604051611b8493929190613f40565b60405180910390a25050505050505050565b60018210158015611ba85750605a8211155b611be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bde90613d1c565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b90613ebc565b60405180910390fd5b60006201518083611c859190614048565b90506000611c92826134ec565b9050600073ffffffffffffffffffffffffffffffffffffffff16600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611d5b57503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d945750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e185782600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60006040518060a0016040528034815260200184815260200183815260200142815260200142815250905034600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e929190613fc1565b92505081905550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819080600181540180825580915050600190039060005260206000209060050201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015550503373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a153487604051611f7e929190613f17565b60405180910390a25050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461201b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201290613d5c565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612081573d6000803e3d6000fd5b5050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210990613ebc565b60405180910390fd5b6000805b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015612258576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106121d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201905062015180846121f89190614048565b816001015414801561220e575060008160000154115b1561224457600061221f338461315e565b9050600081111561224257428260040181905550808461223f9190613fc1565b93505b505b508080612250906141bc565b915050612116565b506000811161229c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229390613e1c565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122e2573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167ff9984c8173c4b4ff9cc454f76ed19c053f4490ccb224fd9ddffeb4ef4bea3530826040516123299190613efc565b60405180910390a260008111612374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236b90613ebc565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123ba573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167ff9984c8173c4b4ff9cc454f76ed19c053f4490ccb224fd9ddffeb4ef4bea3530826040516124019190613efc565b60405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000905060005b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156125a95762015180846124b99190614048565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612530577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154141561259657600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826125939190613fc1565b91505b80806125a1906141bc565b915050612460565b508091505092915050565b60608060608060606000805b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156126ca5762015180886126199190614048565b600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612690577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016001015414156126b75781806126b3906141bc565b9250505b80806126c2906141bc565b9150506125c0565b508067ffffffffffffffff81111561270b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156127395781602001602082028036833780820191505090505b5095508067ffffffffffffffff81111561277c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156127aa5781602001602082028036833780820191505090505b5094508067ffffffffffffffff8111156127ed577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561281b5781602001602082028036833780820191505090505b5093508067ffffffffffffffff81111561285e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561288c5781602001602082028036833780820191505090505b5092508067ffffffffffffffff8111156128cf577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156128fd5781602001602082028036833780820191505090505b5091506000805b600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561310857620151808961295d9190614048565b600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106129d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016001015414156130f55780888381518110612a26577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110612aa9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612b32577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160030154612b4e9190613fc1565b421015612cc65742600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612bcd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612c56577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160030154612c729190613fc1565b612c7c9190614136565b878381518110612cb5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050612d0e565b6000878381518110612d01577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505b6064600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612d87577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160020154600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612e10577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154600960008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110612e99577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160030154600960008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208581548110612f22577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160040154612f3e9190614136565b612f489190614048565b612f529190614048565b612f5c9190614017565b868381518110612f95577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050612fab8a8261315e565b858381518110612fe4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600042610708600960008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811061306d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201600401546130899190613fc1565b61309391906140a2565b90506130a081600061355c565b8584815181106130d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505082806130f0906141bc565b935050505b8080613100906141bc565b915050612904565b5050509295509295909350565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106131d8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020190506000816000015414806131ff575042816004015410155b1561320e576000915050613261565b60008160040154426132209190614136565b905060006901d460162f516f00000082846002015485600001546132449190614048565b61324e9190614048565b6132589190614017565b90508093505050505b92915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600090506000805b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156134d657600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811061337c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154836133999190613fc1565b92506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110613414577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016000015411156134c357600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081815481106134a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154826134c09190613fc1565b91505b80806134ce906141bc565b9150506132bb565b5080826134e39190614136565b92505050919050565b600062015180821415613507576533f89bb392499050613557565b62278d0082141561352057653ca20afc2aaa9050613557565b624f1a0082141561353957654bca8dbb35559050613557565b6276a700821415613552576555e58f8fe71c9050613557565b600090505b919050565b60008183121561356c578161356e565b825b905092915050565b60008135905061358581614263565b92915050565b60008135905061359a8161427a565b92915050565b6000602082840312156135b257600080fd5b60006135c084828501613576565b91505092915050565b600080604083850312156135dc57600080fd5b60006135ea85828601613576565b92505060206135fb8582860161358b565b9150509250929050565b60006020828403121561361757600080fd5b60006136258482850161358b565b91505092915050565b6000806040838503121561364157600080fd5b600061364f8582860161358b565b925050602061366085828601613576565b9150509250929050565b60008060006060848603121561367f57600080fd5b600061368d8682870161358b565b935050602061369e8682870161358b565b92505060406136af8682870161358b565b9150509250925092565b60006136c58383613bf1565b60208301905092915050565b6136da8161416a565b82525050565b60006136eb82613f87565b6136f58185613f9f565b935061370083613f77565b8060005b8381101561373157815161371888826136b9565b975061372383613f92565b925050600181019050613704565b5085935050505092915050565b6137478161417c565b82525050565b600061375a601683613fb0565b91507f496e76616c6964206c6f636b757020706572696f642e000000000000000000006000830152602082019050919050565b600061379a601c83613fb0565b91507f596f757220626c6f636b20686173206265656e20626c6f636b65642e000000006000830152602082019050919050565b60006137da600983613fb0565b91507f4e2e6f2e772e652e7200000000000000000000000000000000000000000000006000830152602082019050919050565b600061381a601983613fb0565b91507f496e76616c696420746f206c6f636b757020706572696f642e000000000000006000830152602082019050919050565b600061385a603483613fb0565b91507f496e73756666696369656e742062616c616e636520696e20746865207370656360008301527f6966696564206c6f636b757020706572696f642e0000000000000000000000006020830152604082019050919050565b60006138c0601583613fb0565b91507f496e76616c6964207573657220616464726573732e00000000000000000000006000830152602082019050919050565b6000613900601c83613fb0565b91507f596f7572206163636f756e7420697320626c61636b6c69737465642e000000006000830152602082019050919050565b6000613940602183613fb0565b91507f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60008301527f2e000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006139a6601583613fb0565b91507f4e6f20696e74657265737420746f20636c61696d2e00000000000000000000006000830152602082019050919050565b60006139e6601b83613fb0565b91507f496e76616c69642066726f6d206c6f636b757020706572696f642e00000000006000830152602082019050919050565b6000613a26600383613fb0565b91507f62656400000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000613a66601e83613fb0565b91507f496e73756666696369656e7420636f6e74726163742062616c616e63652e00006000830152602082019050919050565b6000613aa6602283613fb0565b91507f4e6f2066756e647320617661696c61626c6520666f722077697468647261776160008301527f6c2e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613b0c606983613fb0565b91507f596f757220626c6f636b20686173206265656e20626c6f636b65642e20506c6560008301527f61736520757365207468652073616d6520616d6f756e74206f66207472616e7360208301527f616374696f6e7320616761696e20746f20736f6c76652074686520626c6f636b60408301527f2070726f626c656d2e00000000000000000000000000000000000000000000006060830152608082019050919050565b6000613bbe600283613fb0565b91507f6e620000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b613bfa816141b2565b82525050565b613c09816141b2565b82525050565b6000602082019050613c2460008301846136d1565b92915050565b60006080820190508181036000830152613c4481876136e0565b90508181036020830152613c5881866136e0565b90508181036040830152613c6c81856136e0565b90508181036060830152613c8081846136e0565b905095945050505050565b600060a0820190508181036000830152613ca581886136e0565b90508181036020830152613cb981876136e0565b90508181036040830152613ccd81866136e0565b90508181036060830152613ce181856136e0565b90508181036080830152613cf581846136e0565b90509695505050505050565b6000602082019050613d16600083018461373e565b92915050565b60006020820190508181036000830152613d358161374d565b9050919050565b60006020820190508181036000830152613d558161378d565b9050919050565b60006020820190508181036000830152613d75816137cd565b9050919050565b60006020820190508181036000830152613d958161380d565b9050919050565b60006020820190508181036000830152613db58161384d565b9050919050565b60006020820190508181036000830152613dd5816138b3565b9050919050565b60006020820190508181036000830152613df5816138f3565b9050919050565b60006020820190508181036000830152613e1581613933565b9050919050565b60006020820190508181036000830152613e3581613999565b9050919050565b60006020820190508181036000830152613e55816139d9565b9050919050565b60006020820190508181036000830152613e7581613a19565b9050919050565b60006020820190508181036000830152613e9581613a59565b9050919050565b60006020820190508181036000830152613eb581613a99565b9050919050565b60006020820190508181036000830152613ed581613aff565b9050919050565b60006020820190508181036000830152613ef581613bb1565b9050919050565b6000602082019050613f116000830184613c00565b92915050565b6000604082019050613f2c6000830185613c00565b613f396020830184613c00565b9392505050565b6000606082019050613f556000830186613c00565b613f626020830185613c00565b613f6f6040830184613c00565b949350505050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613fcc826141b2565b9150613fd7836141b2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561400c5761400b614205565b5b828201905092915050565b6000614022826141b2565b915061402d836141b2565b92508261403d5761403c614234565b5b828204905092915050565b6000614053826141b2565b915061405e836141b2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561409757614096614205565b5b828202905092915050565b60006140ad82614188565b91506140b883614188565b9250827f8000000000000000000000000000000000000000000000000000000000000000018212600084121516156140f3576140f2614205565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01821360008412161561412b5761412a614205565b5b828203905092915050565b6000614141826141b2565b915061414c836141b2565b92508282101561415f5761415e614205565b5b828203905092915050565b600061417582614192565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006141c7826141b2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141fa576141f9614205565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61426c8161416a565b811461427757600080fd5b50565b614283816141b2565b811461428e57600080fd5b5056fea2646970667358221220c6ec3a6cf12e5522886a86091f7d33dddd31a3f5c7eae6dfc677965e13c461eb64736f6c63430008000033