0 txs
1 call
constructor
No constructor.
functions
csigmaRouter
viewfunction csigmaRouter() view returns (address)
currentQueuePosition
viewfunction currentQueuePosition() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
fulfilledQueuePosition
viewfunction fulfilledQueuePosition() view returns (uint256)
getRepaymentData
viewfunction getRepaymentData() view returns (tuple[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getUserRequests
viewfunction getUserRequests(address user) view returns (tuple[] requests)
getUserRequestsCount
viewfunction getUserRequestsCount(address user) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
LPToken
viewfunction LPToken() view returns (address)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
repaymentData
viewfunction repaymentData(uint256) view returns (uint256 queuePosition, uint256 exchangeRatio)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalDueLPToken
viewfunction totalDueLPToken() view returns (uint256)
underlyingToken
viewfunction underlyingToken() view returns (address)
withdrawalQueue
viewfunction withdrawalQueue(uint256) view returns (uint256 pendingLPTokenAmount, uint256 cumulativeLPTokenAmount, uint256 fulfilledAmount, address owner, bool isRepaymentCheckPoint)
withdrawalQueuePositions
viewfunction withdrawalQueuePositions(address, uint256) view returns (uint256)
claim
nonpayablefunction claim(uint256 queuePosition, uint256 repaymentDataIndex) returns (address owner, uint256 claimedAmount)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _underlyingToken, address _LPToken, address _csigmaRouter)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
repay
nonpayablefunction repay(uint256 uptoQueuePosition, uint256 amount)
requestWithdrawal
nonpayablefunction requestWithdrawal(uint256 _LPTokenAmount, address _owner, address _receiver) returns (uint256 amountReceived)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
updateCsigmaRouter
nonpayablefunction updateCsigmaRouter(address _csigmaRouter)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Claim
event Claim(uint256 indexed queuePosition, address indexed owner, uint256 amount)
Initialized
event Initialized(uint8 version)
Paused
event Paused(address account)
Repayment
event Repayment(uint256 indexed queuePosition, uint256 repaymentShares, uint256 exchangeRatio, uint256 queuePositionFulfilledAmount)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
WithdrawRequest
event WithdrawRequest(uint256 indexed queuePosition, address indexed owner, uint256 shares)
errors
No errors.
creation bytecode
0x60a06040523060805234801561001457600080fd5b506080516132b361004c60003960008181610cbd01528181610cfd01528181610dcf01528181610e0f0152610e9e01526132b36000f3fe6080604052600436106101c25760003560e01c80635c975abb116100f7578063c0c53b8b11610095578063d8aed14511610064578063d8aed145146105bd578063dc827f80146105dd578063ec87621c146105f4578063f30a6b4b1461061657600080fd5b8063c0c53b8b146104b3578063c3490263146104d3578063c822adda14610512578063d547741f1461059d57600080fd5b80639f9914c3116100d15780639f9914c31461041b578063a217fddf14610450578063b07787fd14610465578063b337cf741461048657600080fd5b80635c975abb146103c35780636900c0d9146103db57806391d14854146103fb57600080fd5b80632f2ff15d116101645780634d3905941161013e5780634d390594146103645780634f1ef2861461038457806352d1902d146103975780635875da69146103ac57600080fd5b80632f2ff15d1461030257806336568abe146103245780633659cfe61461034457600080fd5b80630b20064c116101a05780630b20064c1461025a5780631ac907ec14610291578063248a9ca3146102b15780632495a599146102e157600080fd5b8063011cee36146101c757806301ffc9a71461020557806309fc3b3614610235575b600080fd5b3480156101d357600080fd5b5061012e546101e8906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021157600080fd5b50610225610220366004612ae3565b610638565b60405190151581526020016101fc565b34801561024157600080fd5b5061024c6101315481565b6040519081526020016101fc565b34801561026657600080fd5b5061024c610275366004612b22565b6001600160a01b03166000908152610134602052604090205490565b34801561029d57600080fd5b5061024c6102ac366004612b3f565b61066f565b3480156102bd57600080fd5b5061024c6102cc366004612b81565b60009081526065602052604090206001015490565b3480156102ed57600080fd5b5061012d546101e8906001600160a01b031681565b34801561030e57600080fd5b5061032261031d366004612b9a565b610c0a565b005b34801561033057600080fd5b5061032261033f366004612b9a565b610c34565b34801561035057600080fd5b5061032261035f366004612b22565b610cb2565b34801561037057600080fd5b5061024c61037f366004612bca565b610d92565b610322610392366004612c0c565b610dc4565b3480156103a357600080fd5b5061024c610e91565b3480156103b857600080fd5b5061024c61012f5481565b3480156103cf57600080fd5b5060fb5460ff16610225565b3480156103e757600080fd5b506103226103f6366004612b22565b610f44565b34801561040757600080fd5b50610225610416366004612b9a565b610f73565b34801561042757600080fd5b5061043b610436366004612b81565b610f9e565b604080519283526020830191909152016101fc565b34801561045c57600080fd5b5061024c600081565b34801561047157600080fd5b50610135546101e8906001600160a01b031681565b34801561049257600080fd5b506104a66104a1366004612b22565b610fcd565b6040516101fc9190612cd0565b3480156104bf57600080fd5b506103226104ce366004612d53565b61126a565b3480156104df57600080fd5b506104f36104ee366004612d83565b611523565b604080516001600160a01b0390931683526020830191909152016101fc565b34801561051e57600080fd5b5061056a61052d366004612b81565b610133602052600090815260409020805460018201546002830154600390930154919290916001600160a01b03811690600160a01b900460ff1685565b604080519586526020860194909452928401919091526001600160a01b031660608301521515608082015260a0016101fc565b3480156105a957600080fd5b506103226105b8366004612b9a565b61198a565b3480156105c957600080fd5b506103226105d8366004612d83565b6119af565b3480156105e957600080fd5b5061024c6101305481565b34801561060057600080fd5b5061024c60008051602061323783398151915281565b34801561062257600080fd5b5061062b61210f565b6040516101fc9190612da5565b60006001600160e01b03198216637965db0b60e01b148061066957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000836106bc5760405162461bcd60e51b81526020600482015260166024820152754c50546f6b656e20616d6f756e74206973207a65726f60501b60448201526064015b60405180910390fd5b61012e546040516323b872dd60e01b8152336004820152306024820152604481018690526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107479190612de7565b5061012e54604051636c82bbbf60e11b8152600060048201819052916001600160a01b03169063d905777e9060240160206040518083038186803b15801561078e57600080fd5b505afa1580156107a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c69190612e09565b90508085610131546107d89190612e38565b10156108a65761012e54604051635d043b2960e11b8152600481018790526001600160a01b0385811660248301523060448301529091169063ba08765290606401602060405180830381600087803b15801561083357600080fd5b505af1158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086b9190612e09565b9150836001600160a01b031660006000805160206132178339815191528460405161089891815260200190565b60405180910390a350610c03565b8061013154101561099457600061013154826108c29190612e50565b61012e54604051635d043b2960e11b8152600481018390526001600160a01b03878116602483015230604483015292935091169063ba08765290606401602060405180830381600087803b15801561091957600080fd5b505af115801561092d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109519190612e09565b9250846001600160a01b031660006000805160206132178339815191528560405161097e91815260200190565b60405180910390a36109908187612e50565b9550505b8461013160008282546109a79190612e38565b909155505061012f54610acb576040518060a0016040528086815260200186815260200160008152602001856001600160a01b0316815260200160001515815250610133600061012f600081546109fd90612e67565b918290555081526020808201929092526040908101600090812084518155848401516001808301919091558584015160028301556060860151600390920180546080909701511515600160a01b026001600160a81b03199097166001600160a01b039384161796909617909555881680825261013484528282208054808701825590835293909120909201839055519091907f13be99dfb4b71705ce15b8b7b83d0b8aa95b5ffb84bb2830a7e2b6b858c7218e90610abe9089815260200190565b60405180910390a3610c01565b61012f60008154610adb90612e67565b919050819055506040518060a00160405280868152602001866101336000600161012f54610b099190612e50565b815260200190815260200160002060010154610b259190612e38565b8152600060208083018290526001600160a01b038089166040808601829052606095860185905261012f805486526101338552818620885181558886015160018281019190915589840151600283015597890151600390910180546080909a01511515600160a01b026001600160a81b0319909a1691909516179790971790925580845261013483528184208654815496870182559085529290932090930155915490517f13be99dfb4b71705ce15b8b7b83d0b8aa95b5ffb84bb2830a7e2b6b858c7218e90610bf89089815260200190565b60405180910390a35b505b9392505050565b600082815260656020526040902060010154610c2581612183565b610c2f838361218d565b505050565b6001600160a01b0381163314610ca45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016106b3565b610cae8282612213565b5050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610cfb5760405162461bcd60e51b81526004016106b390612e82565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d446000805160206131f7833981519152546001600160a01b031690565b6001600160a01b031614610d6a5760405162461bcd60e51b81526004016106b390612ece565b610d738161227a565b60408051600080825260208201909252610d8f91839190612285565b50565b6101346020528160005260406000208181548110610daf57600080fd5b90600052602060002001600091509150505481565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610e0d5760405162461bcd60e51b81526004016106b390612e82565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e566000805160206131f7833981519152546001600160a01b031690565b6001600160a01b031614610e7c5760405162461bcd60e51b81526004016106b390612ece565b610e858261227a565b610cae82826001612285565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f315760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106b3565b506000805160206131f783398151915290565b6000610f4f81612183565b5061013580546001600160a01b0319166001600160a01b0392909216919091179055565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6101328181548110610faf57600080fd5b60009182526020909120600290910201805460019091015490915082565b6001600160a01b03811660009081526101346020908152604080832080548251818502810185019093528083526060949383018282801561102d57602002820191906000526020600020905b815481526020019060010190808311611019575b50505050509050805167ffffffffffffffff81111561104e5761104e612bf6565b6040519080825280602002602001820160405280156110c357816020015b6110b06040518060c001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581525090565b81526020019060019003908161106c5790505b50915060005b8151811015611263576040518060c001604052808383815181106110ef576110ef612f1a565b60200260200101518152602001610133600085858151811061111357611113612f1a565b60200260200101518152602001908152602001600020600001548152602001610133600085858151811061114957611149612f1a565b60200260200101518152602001908152602001600020600101548152602001610133600085858151811061117f5761117f612f1a565b6020026020010151815260200190815260200160002060020154815260200161013360008585815181106111b5576111b5612f1a565b6020026020010151815260200190815260200160002060030160009054906101000a90046001600160a01b03166001600160a01b03168152602001610133600085858151811061120757611207612f1a565b6020026020010151815260200190815260200160002060030160149054906101000a900460ff16151581525083828151811061124557611245612f1a565b6020026020010181905250808061125b90612e67565b9150506110c9565b5050919050565b600054610100900460ff161580801561128a5750600054600160ff909116105b806112a45750303b1580156112a4575060005460ff166001145b6113075760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106b3565b6000805460ff19166001179055801561132a576000805461ff0019166101001790555b6113326123ff565b61133a6123ff565b611342612428565b61134d60003361218d565b6113d5600080516020613237833981519152846001600160a01b0316636209ec2d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561139857600080fd5b505afa1580156113ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d09190612f30565b61218d565b611420600080516020613237833981519152846001600160a01b031663dc4c90d36040518163ffffffff1660e01b815260040160206040518083038186803b15801561139857600080fd5b61012d80546001600160a01b03199081166001600160a01b038781169190911790925561012e805482168684161790556101358054909116918416919091179055604080518082019091526000808252602082018181526101328054600181018255925291517fc53bdfd4aa1ab65dfdaf681ca6bda958ae4a123d4ed68c4277796592280e783560029092029182015590517fc53bdfd4aa1ab65dfdaf681ca6bda958ae4a123d4ed68c4277796592280e783690910155801561151d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b600082815261013360209081526040808320815160a08101835281548152600182015493810193909352600281015491830191909152600301546001600160a01b038082166060840152600160a01b90910460ff161515608083015261013554839291163381146115f85750606081015133906001600160a01b031681146115f85760405162461bcd60e51b815260206004820152602260248201527f52657175657374206973206e6f74206f776e6564206279207468652063616c6c60448201526132b960f11b60648201526084016106b3565b610130548611156116575760405162461bcd60e51b815260206004820152602360248201527f517565756520706f736974696f6e206973206e6f742066756c66696c6c6564206044820152621e595d60ea1b60648201526084016106b3565b81608001511561172f5760408201516116ad5760405162461bcd60e51b815260206004820152601860248201527714995c5d595cdd081a185cc81899595b8818db185a5b595960421b60448201526064016106b3565b61012d5460408301516116cb916001600160a01b0316908390612457565b81606001516001600160a01b03168660008051602061321783398151915284604001516040516116fd91815260200190565b60405180910390a360008681526101336020526040808220600201919091556060830151908301519094509250611981565b600061013261173f600188612e50565b8154811061174f5761174f612f1a565b90600052602060002090600202016040518060400160405290816000820154815260200160018201548152505090506000610132878154811061179457611794612f1a565b90600052602060002090600202016040518060400160405290816000820154815260200160018201548152505090508782600001511015806117d65750805188115b1561182d5760405162461bcd60e51b815260206004820152602160248201527f52657061796d656e74206461746120696e646578206973206e6f742076616c696044820152601960fa1b60648201526084016106b3565b60208082015161012e546040805163313ce56760e01b8152905192936001600160a01b039092169263313ce56792600480840193919291829003018186803b15801561187857600080fd5b505afa15801561188c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b09190612f4d565b6118bb90600a613054565b85516118c8908390613063565b6118d29190613082565b60008a8152610133602052604081205595508561192c5760405162461bcd60e51b815260206004820152601860248201527714995c5d595cdd081a185cc81899595b8818db185a5b595960421b60448201526064016106b3565b836001600160a01b0316896000805160206132178339815191528860405161195691815260200190565b60405180910390a361012d54611976906001600160a01b03168588612457565b846060015196505050505b50509250929050565b6000828152606560205260409020600101546119a581612183565b610c2f8383612213565b6000805160206132378339815191526119c781612183565b82610130541115611a1a5760405162461bcd60e51b815260206004820152601b60248201527f517565756520706f736974696f6e206973206e6f742076616c6964000000000060448201526064016106b3565b61013154611a2757505050565b61012f54831115611a395761012f5492505b61012e54604051630a28a47760e01b8152600481018490526000916001600160a01b031690630a28a4779060240160206040518083038186803b158015611a7f57600080fd5b505afa158015611a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab79190612e09565b905061013154811115611aca5750610131545b61012e5460405163266d6a8360e11b8152600481018390526000916001600160a01b031690634cdad5069060240160206040518083038186803b158015611b1057600080fd5b505afa158015611b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b489190612e09565b61012e5460405163ce96cb7760e01b81526000600482018190529293506001600160a01b039091169063ce96cb779060240160206040518083038186803b158015611b9257600080fd5b505afa158015611ba6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bca9190612e09565b9050818111611c695761012e54604051632d182be560e21b815260048101839052306024820181905260448201526001600160a01b039091169063b460af9490606401602060405180830381600087803b158015611c2757600080fd5b505af1158015611c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e09565b9250809150611cf7565b61012e54604051635d043b2960e11b815260048101859052306024820181905260448201526001600160a01b039091169063ba08765290606401602060405180830381600087803b158015611cbd57600080fd5b505af1158015611cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf59190612e09565b505b61012e546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b158015611d3d57600080fd5b505afa158015611d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d759190612f4d565b611d8090600a613054565b9050600084611d8f8386613063565b611d999190613082565b905060008861013054101561202657610130546000908152610133602052604080822060018082015491548d855292842001549091611dd791612e38565b611de19190612e50565b610130546000908152610133602081905260408220600180820154915494955090939290611e0f908f612e50565b815260200190815260200160002060010154611e2b9190612e38565b611e359190612e50565b8711611e835760405162461bcd60e51b815260206004820152601c60248201527f5061796d656e7420616d6f756e74206973206e6f7420656e6f7567680000000060448201526064016106b3565b6000611e8f8883612e50565b60008c81526101336020526040902054909150611ead908290612e50565b60008c815261013360205260409020828155600301805460ff60a01b1916600160a01b179055925084611ee08585613063565b611eea9190613082565b60008c8152610133602052604081206002018054909190611f0c908490612e38565b909155505061013054600090815261013360205260409020548590611f32908690613063565b611f3c9190613082565b610130546000908152610133602052604081206002018054909190611f62908490612e38565b90915550506101308054600090815261013360205260408120558b90558a7f89a7949b2b487473246661f4ca7f51ff59389180d10a910caed2d02dc9064032898688611fae8289613063565b611fb89190613082565b6040805193845260208401929092529082015260600160405180910390a2610132604051806040016040528060018e611ff19190612e50565b815260209081018790528254600181810185556000948552938290208351600290920201908155910151910155506120ec9050565b60008981526101336020526040812054906120418883612e50565b60008c815261013360205260409020819055905084612060858a613063565b61206a9190613082565b60008c815261013360205260408120600201805490919061208c908490612e38565b909155508b90507f89a7949b2b487473246661f4ca7f51ff59389180d10a910caed2d02dc90640328986886120c18284613063565b6120cb9190613082565b6040805193845260208401929092529082015260600160405180910390a250505b8561013160008282546120ff9190612e50565b9091555050505050505050505050565b6060610132805480602002602001604051908101604052809291908181526020016000905b8282101561217a57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190612134565b50505050905090565b610d8f81336124a9565b6121978282610f73565b610cae5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556121cf3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61221d8282610f73565b15610cae5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610cae81612183565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156122b857610c2f83612502565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122f157600080fd5b505afa925050508015612321575060408051601f3d908101601f1916820190925261231e91810190612e09565b60015b6123845760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106b3565b6000805160206131f783398151915281146123f35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106b3565b50610c2f83838361259e565b600054610100900460ff166124265760405162461bcd60e51b81526004016106b3906130a4565b565b600054610100900460ff1661244f5760405162461bcd60e51b81526004016106b3906130a4565b6124266125c3565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c2f9084906125f6565b6124b38282610f73565b610cae576124c0816126cb565b6124cb8360206126dd565b6040516020016124dc92919061311b565b60408051601f198184030181529082905262461bcd60e51b82526106b391600401613190565b6001600160a01b0381163b61256f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106b3565b6000805160206131f783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6125a783612879565b6000825111806125b45750805b15610c2f5761151d83836128b9565b600054610100900460ff166125ea5760405162461bcd60e51b81526004016106b3906130a4565b60fb805460ff19169055565b600061264b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128de9092919063ffffffff16565b905080516000148061266c57508080602001905181019061266c9190612de7565b610c2f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016106b3565b60606106696001600160a01b03831660145b606060006126ec836002613063565b6126f7906002612e38565b67ffffffffffffffff81111561270f5761270f612bf6565b6040519080825280601f01601f191660200182016040528015612739576020820181803683370190505b509050600360fc1b8160008151811061275457612754612f1a565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061278357612783612f1a565b60200101906001600160f81b031916908160001a90535060006127a7846002613063565b6127b2906001612e38565b90505b600181111561282a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106127e6576127e6612f1a565b1a60f81b8282815181106127fc576127fc612f1a565b60200101906001600160f81b031916908160001a90535060049490941c93612823816131c3565b90506127b5565b508315610c035760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106b3565b61288281612502565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610c038383604051806060016040528060278152602001613257602791396128f5565b60606128ed848460008561296d565b949350505050565b6060600080856001600160a01b03168560405161291291906131da565b600060405180830381855af49150503d806000811461294d576040519150601f19603f3d011682016040523d82523d6000602084013e612952565b606091505b509150915061296386838387612a48565b9695505050505050565b6060824710156129ce5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016106b3565b600080866001600160a01b031685876040516129ea91906131da565b60006040518083038185875af1925050503d8060008114612a27576040519150601f19603f3d011682016040523d82523d6000602084013e612a2c565b606091505b5091509150612a3d87838387612a48565b979650505050505050565b60608315612ab4578251612aad576001600160a01b0385163b612aad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106b3565b50816128ed565b6128ed8383815115612ac95781518083602001fd5b8060405162461bcd60e51b81526004016106b39190613190565b600060208284031215612af557600080fd5b81356001600160e01b031981168114610c0357600080fd5b6001600160a01b0381168114610d8f57600080fd5b600060208284031215612b3457600080fd5b8135610c0381612b0d565b600080600060608486031215612b5457600080fd5b833592506020840135612b6681612b0d565b91506040840135612b7681612b0d565b809150509250925092565b600060208284031215612b9357600080fd5b5035919050565b60008060408385031215612bad57600080fd5b823591506020830135612bbf81612b0d565b809150509250929050565b60008060408385031215612bdd57600080fd5b8235612be881612b0d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612c1f57600080fd5b8235612c2a81612b0d565b9150602083013567ffffffffffffffff80821115612c4757600080fd5b818501915085601f830112612c5b57600080fd5b813581811115612c6d57612c6d612bf6565b604051601f8201601f19908116603f01168101908382118183101715612c9557612c95612bf6565b81604052828152886020848701011115612cae57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612d465781518051855286810151878601528581015186860152606080820151908601526080808201516001600160a01b03169086015260a09081015115159085015260c09093019290850190600101612ced565b5091979650505050505050565b600080600060608486031215612d6857600080fd5b8335612d7381612b0d565b92506020840135612b6681612b0d565b60008060408385031215612d9657600080fd5b50508035926020909101359150565b602080825282518282018190526000919060409081850190868401855b82811015612d4657815180518552860151868501529284019290850190600101612dc2565b600060208284031215612df957600080fd5b81518015158114610c0357600080fd5b600060208284031215612e1b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612e4b57612e4b612e22565b500190565b600082821015612e6257612e62612e22565b500390565b6000600019821415612e7b57612e7b612e22565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4257600080fd5b8151610c0381612b0d565b600060208284031215612f5f57600080fd5b815160ff81168114610c0357600080fd5b600181815b80851115612fab578160001904821115612f9157612f91612e22565b80851615612f9e57918102915b93841c9390800290612f75565b509250929050565b600082612fc257506001610669565b81612fcf57506000610669565b8160018114612fe55760028114612fef5761300b565b6001915050610669565b60ff84111561300057613000612e22565b50506001821b610669565b5060208310610133831016604e8410600b841016171561302e575081810a610669565b6130388383612f70565b806000190482111561304c5761304c612e22565b029392505050565b6000610c0360ff841683612fb3565b600081600019048311821515161561307d5761307d612e22565b500290565b60008261309f57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b8381101561310a5781810151838201526020016130f2565b8381111561151d5750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516131538160178501602088016130ef565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516131848160288401602088016130ef565b01602801949350505050565b60208152600082518060208401526131af8160408501602087016130ef565b601f01601f19169190910160400192915050565b6000816131d2576131d2612e22565b506000190190565b600082516131ec8184602087016130ef565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc3ed1528b0fdc7c5207c1bf935e34a667e13656b9ed165260c522be0bc544f303241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201da1fff904ef630b14b734252b5d12da7d6b7d25b97635b3194f42bf17ac474664736f6c63430008090033