65 txs
72 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
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)
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
0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a39806100606000396000f3fe6080604052600436106101145760003560e01c80636e553f65116100a0578063c2ebd26911610064578063c2ebd269146103cc578063d3ea0f891461040d578063d7dc62031461044a578063f8b2cb4f14610487578063faf7eba6146104c457610114565b80636e553f65146102e45780638a2c80ee1461030057806392682fc414610329578063a680e0bc14610352578063bd3a40171461038f57610114565b80633b0f0f2f116100e75780633b0f0f2f146101e55780635287ce121461022257806358a85bc614610262578063658ba11a1461028b578063684f93a0146102c857610114565b806308f39382146101195780630e7338f3146101425780632e1a7d4d1461017f5780632e24f672146101a8575b600080fd5b34801561012557600080fd5b50610140600480360381019061013b9190613024565b610501565b005b34801561014e57600080fd5b5061016960048036038101906101649190613024565b6106b9565b6040516101769190613553565b60405180910390f35b34801561018b57600080fd5b506101a660048036038101906101a19190613089565b61070f565b005b3480156101b457600080fd5b506101cf60048036038101906101ca9190613024565b610a20565b6040516101dc919061366e565b60405180910390f35b3480156101f157600080fd5b5061020c60048036038101906102079190613024565b610a69565b6040516102199190613461565b60405180910390f35b34801561022e57600080fd5b5061024960048036038101906102449190613024565b610ad2565b604051610259949392919061347c565b60405180910390f35b34801561026e57600080fd5b5061028960048036038101906102849190613024565b61104d565b005b34801561029757600080fd5b506102b260048036038101906102ad9190613024565b611206565b6040516102bf919061366e565b60405180910390f35b6102e260048036038101906102dd91906130ee565b611252565b005b6102fe60048036038101906102f991906130b2565b6116e0565b005b34801561030c57600080fd5b5061032760048036038101906103229190613089565b611ad7565b005b34801561033557600080fd5b50610350600480360381019061034b9190613089565b611bcf565b005b34801561035e57600080fd5b5061037960048036038101906103749190613024565b611eb8565b604051610386919061366e565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b1919061304d565b611f01565b6040516103c3919061366e565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee919061304d565b61205f565b6040516104049594939291906134dd565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f9190613024565b612bc0565b604051610441919061366e565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c919061304d565b612c09565b60405161047e919061366e565b60405180910390f35b34801561049357600080fd5b506104ae60048036038101906104a99190613024565b612ceb565b6040516104bb919061366e565b60405180910390f35b3480156104d057600080fd5b506104eb60048036038101906104e69190613024565b612d34565b6040516104f8919061366e565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105869061358e565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661061b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106129061364e565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b60405160405180910390a250565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561079c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107939061362e565b60405180910390fd5b6000805b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156108ed576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610863577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502019050620151808461088291906137ba565b81600101541480156108a75750806001015481600301546108a39190613733565b4210155b80156108b7575060008160000154115b156108d9578060000154836108cc9190613733565b9250600081600001819055505b5080806108e59061392e565b9150506107a0565b5060008111610931576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109289061362e565b60405180910390fd5b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109809190613733565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156109cd573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436482604051610a14919061366e565b60405180910390a25050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060806060806000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090508067ffffffffffffffff811115610b5f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610b8d5781602001602082028036833780820191505090505b5094508067ffffffffffffffff811115610bd0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610bfe5781602001602082028036833780820191505090505b5093508067ffffffffffffffff811115610c41577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610c6f5781602001602082028036833780820191505090505b5092508067ffffffffffffffff811115610cb2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610ce05781602001602082028036833780820191505090505b50915060005b818110156110445780868281518110610d28577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110610dab577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610e34577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160030154610e509190613733565b858281518110610e89577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110610f0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154848281518110610f57577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110610fda577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154838281518110611025577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050808061103c9061392e565b915050610ce6565b50509193509193565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d29061358e565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f9061360e565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d69061362e565b60405180910390fd5b600e83101580156112f15750605a8311155b611330576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611327906135ee565b60405180910390fd5b600e82101580156113425750605a8211155b611381576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611378906135ae565b60405180910390fd5b6000620151808461139291906137ba565b9050600062015180846113a591906137ba565b9050600080600042905060005b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156114f7576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611475577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201905086816001015414156114e3578060000154856114a19190613733565b94506114ad3383612c09565b846114b89190613733565b935082816004015410156114ce57806004015492505b60008160000181905550600081600401819055505b5080806114ef9061392e565b9150506113b2565b508583101561153b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611532906135ce565b60405180910390fd5b600082348561154a9190613733565b6115549190613733565b9050600061156186612f70565b905060006040518060a0016040528084815260200188815260200183815260200142815260200185815250905034600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115dd9190613733565b92505081905550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819080600181540180825580915050600190039060005260206000209060050201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015550503373ffffffffffffffffffffffffffffffffffffffff167f9ee37244ba9f5d4982dfc3452c1cea0d297249501a9ef8040a9e646f336717b48c8c866040516116cb939291906136b2565b60405180910390a25050505050505050505050565b600e82101580156116f25750605a8211155b611731576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117289061356e565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156117be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b59061362e565b60405180910390fd5b600062015180836117cf91906137ba565b905060006117dc82612f70565b9050600073ffffffffffffffffffffffffffffffffffffffff16600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156118a557503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118de5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119625782600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60006040518060a0016040528034815260200184815260200183815260200142815260200142815250905034600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119dc9190613733565b92505081905550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819080600181540180825580915050600190039060005260206000209060050201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015550503373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a153487604051611ac8929190613689565b60405180910390a25050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c9061358e565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611bcb573d6000803e3d6000fd5b5050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c539061362e565b60405180910390fd5b6000805b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015611ddb576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611d23577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020190506201518084611d4291906137ba565b8160010154148015611d58575060008160000154115b15611dc7576000611d693384612c09565b905060008111611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da59061362e565b60405180910390fd5b4282600401819055508084611dc39190613733565b9350505b508080611dd39061392e565b915050611c60565b5060008111611e1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e169061362e565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e65573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167ff9984c8173c4b4ff9cc454f76ed19c053f4490ccb224fd9ddffeb4ef4bea353082604051611eac919061366e565b60405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000905060005b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015612054576201518084611f6491906137ba565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611fdb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154141561204157600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261203e9190613733565b91505b808061204c9061392e565b915050611f0b565b508091505092915050565b60608060608060606000805b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156121755762015180886120c491906137ba565b600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061213b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154141561216257818061215e9061392e565b9250505b808061216d9061392e565b91505061206b565b508067ffffffffffffffff8111156121b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156121e45781602001602082028036833780820191505090505b5095508067ffffffffffffffff811115612227577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156122555781602001602082028036833780820191505090505b5094508067ffffffffffffffff811115612298577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156122c65781602001602082028036833780820191505090505b5093508067ffffffffffffffff811115612309577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156123375781602001602082028036833780820191505090505b5092508067ffffffffffffffff81111561237a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156123a85781602001602082028036833780820191505090505b5091506000805b600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015612bb357620151808961240891906137ba565b600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061247f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201600101541415612ba057808883815181106124d1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110612554577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106125dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201600301546125f99190613733565b4210156127715742600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612678577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612701577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016003015461271d9190613733565b61272791906138a8565b878381518110612760577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250506127b9565b60008783815181106127ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505b6064600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612832577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160020154600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106128bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154600960008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110612944577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160030154600960008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085815481106129cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201600401546129e991906138a8565b6129f391906137ba565b6129fd91906137ba565b612a079190613789565b868381518110612a40577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050612a568a82612c09565b858381518110612a8f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600042610708600960008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110612b18577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160040154612b349190613733565b612b3e9190613814565b9050612b4b816000612fe0565b858481518110612b84577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250508280612b9b9061392e565b935050505b8080612bab9061392e565b9150506123af565b5050509295509295909350565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612c83577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020190506000816004015442612ca591906138a8565b905060006901d460162f516f0000008284600201548560000154612cc991906137ba565b612cd391906137ba565b612cdd9190613789565b905080935050505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600090506000805b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015612f5a57600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110612e00577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016000015483612e1d9190613733565b92506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612e98577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201600001541115612f4757600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110612f27577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016000015482612f449190613733565b91505b8080612f529061392e565b915050612d3f565b508082612f6791906138a8565b92505050919050565b600062127500821415612f8b576533f89bb392499050612fdb565b62278d00821415612fa457653ca20afc2aaa9050612fdb565b624f1a00821415612fbd57654bca8dbb35559050612fdb565b6276a700821415612fd6576555e58f8fe71c9050612fdb565b600090505b919050565b600081831215612ff05781612ff2565b825b905092915050565b600081359050613009816139d5565b92915050565b60008135905061301e816139ec565b92915050565b60006020828403121561303657600080fd5b600061304484828501612ffa565b91505092915050565b6000806040838503121561306057600080fd5b600061306e85828601612ffa565b925050602061307f8582860161300f565b9150509250929050565b60006020828403121561309b57600080fd5b60006130a98482850161300f565b91505092915050565b600080604083850312156130c557600080fd5b60006130d38582860161300f565b92505060206130e485828601612ffa565b9150509250929050565b60008060006060848603121561310357600080fd5b60006131118682870161300f565b93505060206131228682870161300f565b92505060406131338682870161300f565b9150509250925092565b60006131498383613443565b60208301905092915050565b61315e816138dc565b82525050565b600061316f826136f9565b6131798185613711565b9350613184836136e9565b8060005b838110156131b557815161319c888261313d565b97506131a783613704565b925050600181019050613188565b5085935050505092915050565b6131cb816138ee565b82525050565b60006131de601683613722565b91507f496e76616c6964206c6f636b757020706572696f642e000000000000000000006000830152602082019050919050565b600061321e600983613722565b91507f4e2e6f2e772e652e7200000000000000000000000000000000000000000000006000830152602082019050919050565b600061325e601983613722565b91507f496e76616c696420746f206c6f636b757020706572696f642e000000000000006000830152602082019050919050565b600061329e601483613722565b91507f496e73756666696369656e742062616c616e63650000000000000000000000006000830152602082019050919050565b60006132de601b83613722565b91507f496e76616c69642066726f6d206c6f636b757020706572696f642e00000000006000830152602082019050919050565b600061331e600383613722565b91507f62656400000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b600061335e606983613722565b91507f596f757220626c6f636b20686173206265656e20626c6f636b65642e20506c6560008301527f61736520757365207468652073616d6520616d6f756e74206f66207472616e7360208301527f616374696f6e7320616761696e20746f20736f6c76652074686520626c6f636b60408301527f2070726f626c656d2e00000000000000000000000000000000000000000000006060830152608082019050919050565b6000613410600283613722565b91507f6e620000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b61344c81613924565b82525050565b61345b81613924565b82525050565b60006020820190506134766000830184613155565b92915050565b600060808201905081810360008301526134968187613164565b905081810360208301526134aa8186613164565b905081810360408301526134be8185613164565b905081810360608301526134d28184613164565b905095945050505050565b600060a08201905081810360008301526134f78188613164565b9050818103602083015261350b8187613164565b9050818103604083015261351f8186613164565b905081810360608301526135338185613164565b905081810360808301526135478184613164565b90509695505050505050565b600060208201905061356860008301846131c2565b92915050565b60006020820190508181036000830152613587816131d1565b9050919050565b600060208201905081810360008301526135a781613211565b9050919050565b600060208201905081810360008301526135c781613251565b9050919050565b600060208201905081810360008301526135e781613291565b9050919050565b60006020820190508181036000830152613607816132d1565b9050919050565b6000602082019050818103600083015261362781613311565b9050919050565b6000602082019050818103600083015261364781613351565b9050919050565b6000602082019050818103600083015261366781613403565b9050919050565b60006020820190506136836000830184613452565b92915050565b600060408201905061369e6000830185613452565b6136ab6020830184613452565b9392505050565b60006060820190506136c76000830186613452565b6136d46020830185613452565b6136e16040830184613452565b949350505050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061373e82613924565b915061374983613924565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561377e5761377d613977565b5b828201905092915050565b600061379482613924565b915061379f83613924565b9250826137af576137ae6139a6565b5b828204905092915050565b60006137c582613924565b91506137d083613924565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561380957613808613977565b5b828202905092915050565b600061381f826138fa565b915061382a836138fa565b9250827f80000000000000000000000000000000000000000000000000000000000000000182126000841215161561386557613864613977565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01821360008412161561389d5761389c613977565b5b828203905092915050565b60006138b382613924565b91506138be83613924565b9250828210156138d1576138d0613977565b5b828203905092915050565b60006138e782613904565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061393982613924565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561396c5761396b613977565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6139de816138dc565b81146139e957600080fd5b50565b6139f581613924565b8114613a0057600080fd5b5056fea264697066735822122021061f8e803a891bc4735ed33b481238861f28593ab6783ac31be0bab107938264736f6c63430008000033