0 txs
0 calls
constructor
No constructor.
functions
connectorID
purefunction connectorID() pure returns (uint256 _type, uint256 _id)
name
viewfunction name() view returns (string)
borrow
payablefunction borrow(address token, uint256 amt, uint256 getId, uint256 setId) payable
deposit
payablefunction deposit(address token, uint256 amt, uint256 getId, uint256 setId) payable
depositCToken
payablefunction depositCToken(address token, uint256 amt, uint256 getId, uint256 setId) payable
liquidate
payablefunction liquidate(address borrower, address tokenToPay, address tokenInReturn, uint256 amt, uint256 getId, uint256 setId) payable
payback
payablefunction payback(address token, uint256 amt, uint256 getId, uint256 setId) payable
withdraw
payablefunction withdraw(address token, uint256 amt, uint256 getId, uint256 setId) payable
withdrawCToken
payablefunction withdrawCToken(address token, uint256 cTokenAmt, uint256 getId, uint256 setId) payable
events
LogBorrow
event LogBorrow(address indexed token, address cToken, uint256 tokenAmt, uint256 getId, uint256 setId)
LogClaimedComp
event LogClaimedComp(uint256 compAmt, uint256 setId)
LogDeposit
event LogDeposit(address indexed token, address cToken, uint256 tokenAmt, uint256 getId, uint256 setId)
LogDepositCToken
event LogDepositCToken(address indexed token, address cToken, uint256 tokenAmt, uint256 cTokenAmt, uint256 getId, uint256 setId)
LogLiquidate
event LogLiquidate(address indexed borrower, address indexed tokenToPay, address indexed tokenInReturn, uint256 tokenAmt, uint256 getId, uint256 setId)
LogPayback
event LogPayback(address indexed token, address cToken, uint256 tokenAmt, uint256 getId, uint256 setId)
LogWithdraw
event LogWithdraw(address indexed token, address cToken, uint256 tokenAmt, uint256 getId, uint256 setId)
LogWithdrawCToken
event LogWithdrawCToken(address indexed token, address cToken, uint256 tokenAmt, uint256 cTokenAmt, uint256 getId, uint256 setId)
errors
No errors.
creation bytecode
0x60806040526040518060400160405280600d81526020017f436f6d706f756e642d76312e3300000000000000000000000000000000000000815250600090805190602001906200005192919062000066565b503480156200005f57600080fd5b5062000115565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a957805160ff1916838001178555620000da565b82800160010185558215620000da579182015b82811115620000d9578251825591602001919060010190620000bc565b5b509050620000e99190620000ed565b5090565b6200011291905b808211156200010e576000816000905550600101620000f4565b5090565b90565b61345c80620001256000396000f3fe6080604052600436106100865760003560e01c8063a33d406f11610059578063a33d406f14610241578063b6528b79146102a3578063c3233d6114610305578063ce88b439146103a7578063eb15f7811461040957610086565b806306fdde031461008b5780632cee00f41461011b57806338baa4c21461017d5780634532d776146101df575b600080fd5b34801561009757600080fd5b506100a061043b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100e05780820151818401526020810190506100c5565b50505050905090810190601f16801561010d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017b6004803603608081101561013157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506104d9565b005b6101dd6004803603608081101561019357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050610a5a565b005b61023f600480360360808110156101f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050610cdb565b005b6102a16004803603608081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050611348565b005b610303600480360360808110156102b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919050505061199a565b005b6103a5600480360360c081101561031b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919050505061200b565b005b610407600480360360808110156103bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050612941565b005b34801561041557600080fd5b5061041e612e22565b604051808381526020018281526020019250505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104d15780601f106104a6576101008083540402835291602001916104d1565b820191906000526020600020905b8154815290600101906020018083116104b457829003601f168201915b505050505081565b60006104e58385612e3b565b905060006104f1612ee8565b73ffffffffffffffffffffffffffffffffffffffff1663104b29e9876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561056d57600080fd5b505afa158015610581573d6000803e3d6000fd5b505050506040513d602081101561059757600080fd5b81019080805190602001909291905050509050600081905060008790507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84146105e1578361069a565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561065e57600080fd5b505afa158015610672573d6000803e3d6000fd5b505050506040513d602081101561068857600080fd5b81019080805190602001909291905050505b935060006106a6612f04565b73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614156106df5747610798565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b81019080805190602001909291905050505b905060008373ffffffffffffffffffffffffffffffffffffffff1663db006a75876040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156107ef57600080fd5b505af1158015610803573d6000803e3d6000fd5b505050506040513d602081101561081957600080fd5b81019080805190602001909291905050501461089d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f72656465656d2d6661696c65640000000000000000000000000000000000000081525060200191505060405180910390fd5b60006108a7612f04565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614156108e05747610999565b8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561095d57600080fd5b505afa158015610971573d6000803e3d6000fd5b505050506040513d602081101561098757600080fd5b81019080805190602001909291905050505b905060006109a78284612f20565b90506109b38882612fa3565b8a73ffffffffffffffffffffffffffffffffffffffff167f51eef02fd8aef300d91683486fbcf66aca7686db61492dd0953d7a2a416e828887838a8d8d604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a25050505050505050505050565b6000610a668385612e3b565b90506000610a72612ee8565b73ffffffffffffffffffffffffffffffffffffffff1663104b29e9876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610aee57600080fd5b505afa158015610b02573d6000803e3d6000fd5b505050506040513d6020811015610b1857600080fd5b81019080805190602001909291905050509050610b348161302a565b60008173ffffffffffffffffffffffffffffffffffffffff1663c5ebeaec846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015610b8957600080fd5b505af1158015610b9d573d6000803e3d6000fd5b505050506040513d6020811015610bb357600080fd5b810190808051906020019092919050505014610c37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f626f72726f772d6661696c65640000000000000000000000000000000000000081525060200191505060405180910390fd5b610c418383612fa3565b8573ffffffffffffffffffffffffffffffffffffffff167f3a5151e57d3bc9798e7853034ac52293d1a0e12a2b44725e75b03b21f86477a682848787604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a2505050505050565b6000610ce78385612e3b565b90506000610cf3612ee8565b73ffffffffffffffffffffffffffffffffffffffff1663104b29e9876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d6f57600080fd5b505afa158015610d83573d6000803e3d6000fd5b505050506040513d6020811015610d9957600080fd5b8101908080519060200190929190505050905060008190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83141561119f5760008790506000610de8612f04565b73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614610ed7578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e9757600080fd5b505afa158015610eab573d6000803e3d6000fd5b505050506040513d6020811015610ec157600080fd5b8101908080519060200190929190505050610ed9565b475b905060008373ffffffffffffffffffffffffffffffffffffffff1663db006a758573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f7657600080fd5b505afa158015610f8a573d6000803e3d6000fd5b505050506040513d6020811015610fa057600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015610fe757600080fd5b505af1158015610ffb573d6000803e3d6000fd5b505050506040513d602081101561101157600080fd5b810190808051906020019092919050505014611095576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f66756c6c2d77697468647261772d6661696c656400000000000000000000000081525060200191505060405180910390fd5b600061109f612f04565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161461118e578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561114e57600080fd5b505afa158015611162573d6000803e3d6000fd5b505050506040513d602081101561117857600080fd5b8101908080519060200190929190505050611190565b475b905081810395505050506112a3565b60008173ffffffffffffffffffffffffffffffffffffffff1663852a12e3856040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156111f457600080fd5b505af1158015611208573d6000803e3d6000fd5b505050506040513d602081101561121e57600080fd5b8101908080519060200190929190505050146112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f77697468647261772d6661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b5b6112ad8484612fa3565b8673ffffffffffffffffffffffffffffffffffffffff167facb207402cd2b663d2290a64caab15469bccde82d9c05051581c19189ea2469583858888604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b60006113548385612e3b565b90506000611360612ee8565b73ffffffffffffffffffffffffffffffffffffffff1663104b29e9876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113dc57600080fd5b505afa1580156113f0573d6000803e3d6000fd5b505050506040513d602081101561140657600080fd5b8101908080519060200190929190505050905060008190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831461144b5782611506565b8073ffffffffffffffffffffffffffffffffffffffff166317bfdfbc306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156114ca57600080fd5b505af11580156114de573d6000803e3d6000fd5b505050506040513d60208110156114f457600080fd5b81019080805190602001909291905050505b9250611510612f04565b73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561161f57824710156115b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f742d656e6f7567682d65746800000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16634e4d9fea846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561160157600080fd5b505af1158015611615573d6000803e3d6000fd5b50505050506118f5565b6000879050838173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156116a257600080fd5b505afa1580156116b6573d6000803e3d6000fd5b505050506040513d60208110156116cc57600080fd5b81019080805190602001909291905050501015611751576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f742d656e6f7567682d746f6b656e0000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b384866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156117d857600080fd5b505af11580156117ec573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff16630e752702866040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561184557600080fd5b505af1158015611859573d6000803e3d6000fd5b505050506040513d602081101561186f57600080fd5b8101908080519060200190929190505050146118f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f72657061792d6661696c65642e0000000000000000000000000000000000000081525060200191505060405180910390fd5b505b6118ff8484612fa3565b8673ffffffffffffffffffffffffffffffffffffffff167f9410947f31b0a8fec2af0832d79c52a241738266186f3bced73169fa08de955583858888604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b60006119a68385612e3b565b905060006119b2612ee8565b73ffffffffffffffffffffffffffffffffffffffff1663104b29e9876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611a2e57600080fd5b505afa158015611a42573d6000803e3d6000fd5b505050506040513d6020811015611a5857600080fd5b81019080805190602001909291905050509050611a748161302a565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611af857600080fd5b505afa158015611b0c573d6000803e3d6000fd5b505050506040513d6020811015611b2257600080fd5b81019080805190602001909291905050509050611b3d612f04565b73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415611c07577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8414611b9d5783611b9f565b475b93508273ffffffffffffffffffffffffffffffffffffffff16631249c58b856040518263ffffffff1660e01b81526004016000604051808303818588803b158015611be957600080fd5b505af1158015611bfd573d6000803e3d6000fd5b5050505050611e98565b60008890507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8514611c395784611cf2565b8073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cb657600080fd5b505afa158015611cca573d6000803e3d6000fd5b505050506040513d6020811015611ce057600080fd5b81019080805190602001909291905050505b94508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b385876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611d7b57600080fd5b505af1158015611d8f573d6000803e3d6000fd5b5050505060008373ffffffffffffffffffffffffffffffffffffffff1663a0712d68876040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015611de857600080fd5b505af1158015611dfc573d6000803e3d6000fd5b505050506040513d6020811015611e1257600080fd5b810190808051906020019092919050505014611e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f6465706f7369742d63746f6b656e2d6661696c65642e0000000000000000000081525060200191505060405180910390fd5b505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611f1757600080fd5b505afa158015611f2b573d6000803e3d6000fd5b505050506040513d6020811015611f4157600080fd5b8101908080519060200190929190505050905060008282039050611f658782612fa3565b8973ffffffffffffffffffffffffffffffffffffffff167fdc898b62691a13e6247d463faaf8f7786968ca009de483714bb8d05ea8dd969b8688848c8c604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a250505050505050505050565b60006120178385612e3b565b90506000612023612ee8565b73ffffffffffffffffffffffffffffffffffffffff1663104b29e9886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d60208110156120c957600080fd5b8101908080519060200190929190505050905060006120e6612ee8565b73ffffffffffffffffffffffffffffffffffffffff1663104b29e9886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561216257600080fd5b505afa158015612176573d6000803e3d6000fd5b505050506040513d602081101561218c57600080fd5b81019080805190602001909291905050509050600082905060006121ae6133ee565b73ffffffffffffffffffffffffffffffffffffffff16635ec88c798c6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060606040518083038186803b15801561222a57600080fd5b505afa15801561223e573d6000803e3d6000fd5b505050506040513d606081101561225457600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050509250505060008114156122f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f6163636f756e742d63616e6e6f742d62652d6c6971756964617465640000000081525060200191505060405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff851461232157846123dc565b8173ffffffffffffffffffffffffffffffffffffffff166317bfdfbc8c6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156123a057600080fd5b505af11580156123b4573d6000803e3d6000fd5b505050506040513d60208110156123ca57600080fd5b81019080805190602001909291905050505b94506123e6612f04565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161415612560578447101561248f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f742d656e6f756768742d657468000000000000000000000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663aae40a2a868d866040518463ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506000604051808303818588803b15801561254257600080fd5b505af1158015612556573d6000803e3d6000fd5b505050505061289e565b60008a9050858173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156125e357600080fd5b505afa1580156125f7573d6000803e3d6000fd5b505050506040513d602081101561260d57600080fd5b81019080805190602001909291905050501015612692576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f742d656e6f7567682d746f6b656e0000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b386886040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561271957600080fd5b505af115801561272d573d6000803e3d6000fd5b5050505060008373ffffffffffffffffffffffffffffffffffffffff1663f5e3c4628e89886040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156127ee57600080fd5b505af1158015612802573d6000803e3d6000fd5b505050506040513d602081101561281857600080fd5b81019080805190602001909291905050501461289c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6c69717569646174652d6661696c65640000000000000000000000000000000081525060200191505060405180910390fd5b505b6128a88686612fa3565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fa9455416d68b5a391e9d752873b8abc2667a996ce2b751cac634d7f36939f735888b8b60405180848152602001838152602001828152602001935050505060405180910390a45050505050505050505050565b600061294d8385612e3b565b90506000612959612ee8565b73ffffffffffffffffffffffffffffffffffffffff1663104b29e9876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156129d557600080fd5b505afa1580156129e9573d6000803e3d6000fd5b505050506040513d60208110156129ff57600080fd5b81019080805190602001909291905050509050612a1b8161302a565b612a23612f04565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612aed577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214612a835781612a85565b475b91508073ffffffffffffffffffffffffffffffffffffffff16631249c58b836040518263ffffffff1660e01b81526004016000604051808303818588803b158015612acf57600080fd5b505af1158015612ae3573d6000803e3d6000fd5b5050505050612d7e565b60008690507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8314612b1f5782612bd8565b8073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612b9c57600080fd5b505afa158015612bb0573d6000803e3d6000fd5b505050506040513d6020811015612bc657600080fd5b81019080805190602001909291905050505b92508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b383856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015612c6157600080fd5b505af1158015612c75573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff1663a0712d68856040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015612cce57600080fd5b505af1158015612ce2573d6000803e3d6000fd5b505050506040513d6020811015612cf857600080fd5b810190808051906020019092919050505014612d7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6465706f7369742d6661696c656400000000000000000000000000000000000081525060200191505060405180910390fd5b505b612d888383612fa3565b8573ffffffffffffffffffffffffffffffffffffffff167fab14747d46633612ff5c029a3117f98ffb6506ebf31bab40972f911b7dd1889182848787604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a2505050505050565b6000806001603981915080905080925081935050509091565b6000808314612ede57612e4c61340a565b73ffffffffffffffffffffffffffffffffffffffff1663a9c70eaa846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015612e9e57600080fd5b505af1158015612eb2573d6000803e3d6000fd5b505050506040513d6020811015612ec857600080fd5b8101908080519060200190929190505050612ee0565b815b905092915050565b600073e81f70cc7c0d46e12d70efc60607f16bbd617e88905090565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b6000828284039150811115612f9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b6000821461302657612fb361340a565b73ffffffffffffffffffffffffffffffffffffffff166361e3c94483836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561300d57600080fd5b505af1158015613021573d6000803e3d6000fd5b505050505b5050565b60006130346133ee565b905060608173ffffffffffffffffffffffffffffffffffffffff1663abfceffc306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038186803b1580156130b557600080fd5b505afa1580156130c9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156130f357600080fd5b810190808051604051939291908464010000000082111561311357600080fd5b8382019150602082018581111561312957600080fd5b825186602082028301116401000000008211171561314657600080fd5b8083526020830192505050908051906020019060200280838360005b8381101561317d578082015181840152602081019050613162565b505050509050016040525050509050600080905060008090505b82518110156131f9578473ffffffffffffffffffffffffffffffffffffffff168382815181106131c357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156131ec57600191505b8080600101915050613197565b50806133e857606060016040519080825280602002602001820160405280156132315781602001602082028038833980820191505090505b509050848160008151811061324257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1663c2998238826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156132eb5780820151818401526020810190506132d0565b5050505090500192505050600060405180830381600087803b15801561331057600080fd5b505af1158015613324573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561334e57600080fd5b810190808051604051939291908464010000000082111561336e57600080fd5b8382019150602082018581111561338457600080fd5b82518660208202830111640100000000821117156133a157600080fd5b8083526020830192505050908051906020019060200280838360005b838110156133d85780820151818401526020810190506133bd565b5050505090500160405250505050505b50505050565b6000733d9819210a31b4961b30ef54be2aed79b9c9cd3b905090565b6000738a5419cfc711b2343c17a6abf4b2bafabb06957f90509056fea2646970667358221220d0b59c605545e67e72b84a1919f38e1ac9a73018ee3a40b481addcbe3688250c64736f6c63430006000033