0 txs
64.7k calls
constructor
No constructor.
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
calculateAvailableManagerFee
viewfunction calculateAvailableManagerFee(uint256 fundValue) view returns (uint256 fee)
creationTime
viewfunction creationTime() view returns (uint256)
creator
viewfunction creator() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
factory
viewfunction factory() view returns (address)
getExitRemainingCooldown
viewfunction getExitRemainingCooldown(address sender) view returns (uint256 remaining)
getFundSummary
viewfunction getFundSummary() view returns (tuple)
lastDeposit
viewfunction lastDeposit(address) view returns (uint256)
lastExitCooldown
viewfunction lastExitCooldown(address) view returns (uint256)
lastFeeMintTime
viewfunction lastFeeMintTime() view returns (uint256)
lastWhitelistTransfer
viewfunction lastWhitelistTransfer(address) view returns (uint256)
name
viewfunction name() view returns (string)
poolManagerLogic
viewfunction poolManagerLogic() view returns (address)
privatePool
viewfunction privatePool() view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenPrice
viewfunction tokenPrice() view returns (uint256 price)
tokenPriceAtLastFeeMint
viewfunction tokenPriceAtLastFeeMint() view returns (uint256)
tokenPriceWithoutManagerFee
viewfunction tokenPriceWithoutManagerFee() view returns (uint256 price)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
deposit
nonpayablefunction deposit(address _asset, uint256 _amount) returns (uint256 liquidityMinted)
depositFor
nonpayablefunction depositFor(address _recipient, address _asset, uint256 _amount) returns (uint256 liquidityMinted)
depositForWithCustomCooldown
nonpayablefunction depositForWithCustomCooldown(address _recipient, address _asset, uint256 _amount, uint256 _cooldown) returns (uint256 liquidityMinted)
execTransaction
nonpayablefunction execTransaction(address to, bytes data) returns (bool success)
execTransactions
nonpayablefunction execTransactions(tuple[] txs)
executeOperation
nonpayablefunction executeOperation(address[] assets, uint256[] amounts, uint256[] premiums, address initiator, bytes params) returns (bool success)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address _factory, bool _privatePool, string _fundName, string _fundSymbol)
mintManagerFee
nonpayablefunction mintManagerFee()
onERC721Received
nonpayablefunction onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns (bytes4 magicSelector)
setPoolManagerLogic
nonpayablefunction setPoolManagerLogic(address _poolManagerLogic)
setPoolPrivate
nonpayablefunction setPoolPrivate(bool _privatePool)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
withdraw
nonpayablefunction withdraw(uint256 _fundTokenAmount)
withdrawSafe
nonpayablefunction withdrawSafe(uint256 _fundTokenAmount, uint256 _slippageTolerance)
withdrawTo
nonpayablefunction withdrawTo(address _recipient, uint256 _fundTokenAmount)
withdrawToSafe
nonpayablefunction withdrawToSafe(address _recipient, uint256 _fundTokenAmount, uint256 _slippageTolerance)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address fundAddress, address investor, address assetDeposited, uint256 amountDeposited, uint256 valueDeposited, uint256 fundTokensReceived, uint256 totalInvestorFundTokens, uint256 fundValue, uint256 totalSupply, uint256 time)
EntryFeeMinted
event EntryFeeMinted(address manager, uint256 entryFeeAmount)
ExitFeeMinted
event ExitFeeMinted(address manager, uint256 exitFeeAmount)
ManagerFeeMinted
event ManagerFeeMinted(address pool, address manager, uint256 available, uint256 daoFee, uint256 managerFee, uint256 tokenPriceAtLastFeeMint)
PoolManagerLogicSet
event PoolManagerLogicSet(address poolManagerLogic, address from)
PoolPrivacyUpdated
event PoolPrivacyUpdated(bool isPoolPrivate)
TransactionExecuted
event TransactionExecuted(address pool, address manager, uint16 transactionType, uint256 time)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Withdrawal
event Withdrawal(address fundAddress, address investor, uint256 valueWithdrawn, uint256 fundTokensWithdrawn, uint256 totalInvestorFundTokens, uint256 fundValue, uint256 totalSupply, (address asset, uint256 amount, bool externalWithdrawProcessed)[] withdrawnAssets, uint256 time)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506156b580620000216000396000f3fe608060405234801561001057600080fd5b50600436106101f35760003560e01c80637714f39d116101165780637714f39d1461038d5780637ae7cfb5146103955780637ff9b596146103a8578063920f5c84146103b057806394138e97146103c357806395d89b41146103d6578063a457c2d7146103de578063a77134e4146103f1578063a9059cbb146103f9578063a971a9131461040c578063aee883341461041f578063b3db428b14610432578063b8ea2b6e14610445578063c45a015514610458578063cc3c6df614610460578063d8270dce14610468578063dd62ed3e14610470578063de6eb13314610483578063df8164cf14610496578063df8ff12f146104a9578063e4262edd146104b1576101f3565b806302d05d3f146101f857806306fdde0314610216578063095ea7b31461022b578063150b7a021461024b57806318160ddd1461026b5780631c5918d2146102805780631e50a4a614610295578063205c28781461029d57806323b872dd146102b257806329d16ee8146102c55780632e1a7d4d146102d8578063313ce567146102eb57806339509351146103005780633babaad51461031357806347e7ef24146103265780635426f81d1461033957806359b5e75e1461034c57806370a08231146103545780637481de6614610367578063750226de1461037a575b600080fd5b6102006104c4565b60405161020d9190614ac0565b60405180910390f35b61021e6104d8565b60405161020d9190614d8e565b61023e610239366004614602565b61056e565b60405161020d9190614d5f565b61025e610259366004614476565b61058c565b60405161020d9190614d6a565b6102736106f7565b60405161020d919061538c565b6102886106fd565b60405161020d91906152b5565b61020061083c565b6102b06102ab366004614602565b61084b565b005b61023e6102c0366004614436565b61085c565b6102736102d33660046143c6565b6108e4565b6102b06102e6366004614988565b6108f6565b6102f3610906565b60405161020d9190615395565b61023e61030e366004614602565b61090f565b6102b06103213660046148d7565b61095d565b610273610334366004614602565b6109e3565b6102b061034736600461452b565b6109f8565b61023e610aff565b6102736103623660046143c6565b610b08565b6102736103753660046143c6565b610b27565b6102b06103883660046143c6565b610b39565b610273610c82565b61023e6103a33660046145b0565b610c88565b610273610cd2565b61023e6103be3660046146b8565b610d0e565b6102736103d1366004614988565b611113565b61021e61115a565b61023e6103ec366004614602565b6111bb565b610273611223565b61023e610407366004614602565b611242565b6102b061041a366004614898565b611256565b61027361042d3660046143c6565b61131f565b610273610440366004614436565b611331565b6102736104533660046143c6565b611341565b61020061138f565b6102b061139e565b6102736114e6565b61027361047e3660046143fe565b6114ec565b6102736104913660046144e6565b611517565b6102b06104a43660046149b8565b6115fe565b610273611609565b6102b06104bf366004614684565b61160f565b60975461010090046001600160a01b031681565b60368054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105645780601f1061053957610100808354040283529160200191610564565b820191906000526020600020905b81548152906001019060200180831161054757829003601f168201915b5050505050905090565b600061058261057b61161a565b848461161e565b5060015b92915050565b609954604051634f8419b960e01b815260009182916001600160a01b0390911690634f8419b9906105c1908a90600401614ac0565b60206040518083038186803b1580156105d957600080fd5b505afa1580156105ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061191906143e2565b90506001600160a01b0381166106425760405162461bcd60e51b815260040161063990615227565b60405180910390fd5b6040516306baeff360e11b81526001600160a01b03821690630d75dfe690610676908a908a908a908a908a90600401614c95565b602060405180830381600087803b15801561069057600080fd5b505af11580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906148f3565b6106e45760405162461bcd60e51b815260040161063990614dfe565b50630a85bd0160e11b9695505050505050565b60355490565b61070561409a565b600080600080600061071561170a565b94509450945094509450604051806101a001604052806107336104d8565b81526020016107406106f7565b815260200161074d6117a9565b815260200161075a611826565b6001600160a01b03168152602001609c60009054906101000a90046001600160a01b03166001600160a01b031663fed4416a6040518163ffffffff1660e01b815260040160006040518083038186803b1580156107b657600080fd5b505afa1580156107ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107f2919081019061490f565b8152609854602082015260975460ff16151560408201526060810196909652608086019490945260a0850181905260c085019190915260e084015261010090920191909152905090565b609c546001600160a01b031681565b61085882826127106118a3565b5050565b6000610869848484611e8c565b6108d98461087561161a565b6108d4856040518060600160405280602881526020016155a9602891396001600160a01b038a166000908152603460205260408120906108b361161a565b6001600160a01b031681526020810191909152604001600020549190611fd7565b61161e565b5060015b9392505050565b609b6020526000908152604090205481565b61090333826127106118a3565b50565b60385460ff1690565b600061058261091c61161a565b846108d4856034600061092d61161a565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061206e565b610965611826565b6001600160a01b0316336001600160a01b0316146109955760405162461bcd60e51b815260040161063990614f30565b6097805460ff19168215151790556040517f8d75e9ede4188432084b863d70b3416010c97547dfeb4fc17734d2e997ee0f39906109d3908390614d5f565b60405180910390a16109036120c6565b60006108dd3384846109f3612130565b612175565b600054610100900460ff1680610a115750610a116127e7565b80610a1f575060005460ff16155b610a5a5760405162461bcd60e51b815260040180806020018281038252602e81526020018061555a602e913960400191505060405180910390fd5b600054610100900460ff16158015610a85576000805460ff1961ff0019909116610100171660011790555b610a8f83836127f8565b610a976128ad565b609980546001600160a01b0319166001600160a01b0387161790556097805460ff191685151517610100600160a81b0319166101003302179055426098819055609e55670de0b6b3a7640000609a558015610af8576000805461ff00191690555b5050505050565b60975460ff1681565b6001600160a01b0381166000908152603360205260409020545b919050565b609f6020526000908152604090205481565b6001600160a01b038116610b5f5760405162461bcd60e51b815260040161063990614fb7565b6099546001600160a01b0316331480610c0e5750609960009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc157600080fd5b505afa158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf991906143e2565b6001600160a01b0316336001600160a01b0316145b610c2a5760405162461bcd60e51b815260040161063990614e7e565b609c80546001600160a01b0319166001600160a01b0383161790556040517f63fb64c359a4cae97e1bf003c1ab11390b5f0e18cc5b3d67b90bd61c0f5c52fd90610c779083903390614af8565b60405180910390a150565b609a5481565b6000610cca8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061295692505050565b949350505050565b600080610cdd6117a9565b90506000610cfb610ced83611113565b610cf56106f7565b9061206e565b9050610d078282613064565b9250505090565b60006001600160a01b0384163014610d385760405162461bcd60e51b815260040161063990614f82565b609954604051633f30232f60e21b81526000916001600160a01b03169063fcc08cbc90610d69903390600401614ac0565b60206040518083038186803b158015610d8157600080fd5b505afa158015610d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db991906143e2565b90506001600160a01b03811615801590610e545750806001600160a01b031663e9d337b86040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0757600080fd5b505afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f91906143e2565b6001600160a01b0316336001600160a01b0316145b610e705760405162461bcd60e51b815260040161063990615287565b60008b8b6000818110610e7f57fe5b9050602002016020810190610e9491906143c6565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ebf9190614ac0565b60206040518083038186803b158015610ed757600080fd5b505afa158015610eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0f91906149a0565b90506000826001600160a01b031663989dccf8308f8f6000818110610f3057fe5b9050602002016020810190610f4591906143c6565b8e8e6000818110610f5257fe5b905060200201358d8d6000818110610f6657fe5b905060200201358b8b6040518763ffffffff1660e01b8152600401610f9096959493929190614cc9565b60006040518083038186803b158015610fa857600080fd5b505afa158015610fbc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fe49190810190614866565b905060005b81518110156110465761103c82828151811061100157fe5b60200260200101516020015183838151811061101957fe5b6020026020010151600001516001600160a01b031661309490919063ffffffff16565b9450600101610fe9565b508c8c600081811061105457fe5b905060200201602081019061106991906143c6565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190614ac0565b60206040518083038186803b1580156110ac57600080fd5b505afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e491906149a0565b8211156111035760405162461bcd60e51b8152600401610639906150d6565b5050509998505050505050505050565b60008060008061112161170a565b9450505092509250600080611140876111386106f7565b8787876130c7565b909250905061114f828261206e565b979650505050505050565b60378054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105645780601f1061053957610100808354040283529160200191610564565b60006105826111c861161a565b846108d48560405180606001604052806025815260200161565b60259139603460006111f261161a565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611fd7565b600061123d6112306117a9565b6112386106f7565b613064565b905090565b600061058261124f61161a565b8484611e8c565b60005b8181101561131a576112f683838381811061127057fe5b905060200281019061128291906153e7565b6112909060208101906143c6565b84848481811061129c57fe5b90506020028101906112ae91906153e7565b6112bc9060208101906153a3565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061295692505050565b6113125760405162461bcd60e51b815260040161063990615006565b600101611259565b505050565b609d6020526000908152604090205481565b6000610cca8484846109f3612130565b6001600160a01b0381166000908152609f6020908152604080832054609b9092528220548291611371919061206e565b905042811015611385576000915050610b22565b6108dd81426131a9565b6099546001600160a01b031681565b609960009054906101000a90046001600160a01b03166001600160a01b031663b187bd266040518163ffffffff1660e01b815260040160206040518083038186803b1580156113ec57600080fd5b505afa158015611400573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142491906148f3565b156114415760405162461bcd60e51b815260040161063990615187565b60995460405163cdf04c0760e01b81526001600160a01b039091169063cdf04c0790611471903090600401614ac0565b60206040518083038186803b15801561148957600080fd5b505afa15801561149d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c191906148f3565b156114de5760405162461bcd60e51b8152600401610639906151d8565b610903613206565b60985481565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b609954604051632927233b60e01b81526000916001600160a01b031690632927233b90611548903390600401614ac0565b60206040518083038186803b15801561156057600080fd5b505afa158015611574573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159891906148f3565b6115b45760405162461bcd60e51b815260040161063990614fe0565b61012c82101580156115cd57506115c9612130565b8211155b6115e95760405162461bcd60e51b815260040161063990615029565b6115f585858585612175565b95945050505050565b6108583383836118a3565b609e5481565b61131a8383836118a3565b3390565b6001600160a01b0383166116635760405162461bcd60e51b81526004018080602001828103825260248152602001806156376024913960400191505060405180910390fd5b6001600160a01b0382166116a85760405162461bcd60e51b81526004018080602001828103825260228152602001806155126022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000806000806000609c60009054906101000a90046001600160a01b03166001600160a01b031663ced72f876040518163ffffffff1660e01b815260040160a06040518083038186803b15801561176057600080fd5b505afa158015611774573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179891906149fc565b939992985090965094509092509050565b609c5460408051632b583ff360e21b815290516000926001600160a01b03169163ad60ffcc916004808301926020929190829003018186803b1580156117ee57600080fd5b505afa158015611802573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123d91906149a0565b609c546040805163481c6a7560e01b815290516000926001600160a01b03169163481c6a75916004808301926020929190829003018186803b15801561186b57600080fd5b505afa15801561187f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123d91906143e2565b600260655414156118e9576040805162461bcd60e51b815260206004820152601f60248201526000805160206154d0833981519152604482015290519081900360640190fd5b6002606555609954604080516358c3de9360e11b815290516001600160a01b039092169163b187bd2691600480820192602092909190829003018186803b15801561193357600080fd5b505afa158015611947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196b91906148f3565b156119885760405162461bcd60e51b815260040161063990615187565b60995460405163cdf04c0760e01b81526001600160a01b039091169063cdf04c07906119b8903090600401614ac0565b60206040518083038186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0891906148f3565b15611a255760405162461bcd60e51b8152600401610639906151d8565b336000908152609b60205260409020544211611a535760405162461bcd60e51b81526004016106399061512c565b81611a5d33610b08565b1015611a7b5760405162461bcd60e51b815260040161063990614f56565b612710811115611a9d5760405162461bcd60e51b81526004016106399061507b565b6000611ab183611aab6106f7565b906131a9565b9050620186a081101580611ac3575080155b611adf5760405162461bcd60e51b8152600401610639906150a6565b506000611aea613206565b9050600080611af761170a565b945094505050506000821115611b99576000611b1d82611b178886613495565b906134ee565b9050611b2986826131a9565b95506000611b35611826565b9050611b418183611242565b611b5d5760405162461bcd60e51b815260040161063990615255565b7f5dc1670f498e308c97e785c929486b7129f92b86f4acd9230ce652ab3b7829ab8183604051611b8e929190614d46565b60405180910390a150505b50506000611bba611ba86106f7565b611b1786670de0b6b3a7640000613495565b9050611bc63385613552565b611bce6106f7565b611bdf57670de0b6b3a7640000609a555b609c546040805163e5406dbf60e01b815290516000926001600160a01b03169163e5406dbf9160048083019286929190829003018186803b158015611c2357600080fd5b505afa158015611c37573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c5f919081019061478d565b9050600081516001600160401b0381118015611c7a57600080fd5b50604051908082528060200260200182016040528015611cb457816020015b611ca161410d565b815260200190600190039081611c995790505b5090506000805b8351811015611de1576000806000611cec878581518110611cd857fe5b6020026020010151600001518d8a8d61363c565b919450925090508115611d81576001600160a01b038316611d1f5760405162461bcd60e51b815260040161063990614e24565b611d7f63a9059cbb60e01b8d84604051602401611d3d929190614d46565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526001600160a01b03851690613094565b505b8080611d8d5750600082115b15611dd6576040518060600160405280846001600160a01b03168152602001838152602001821515815250868681518110611dc457fe5b60209081029190910101526001909401935b505050600101611cbb565b508251600090611df190836131a9565b8351819003845290506000611e12670de0b6b3a7640000611b17888a613495565b90507ffad3d7f9ed107ffa7fc8ce8baa521effc3650ec48a4d1dd36bdb9c4b91db12953033838c611e4233610b08565b611e4c8d886131a9565b611e546106f7565b8b42604051611e6b99989796959493929190614b12565b60405180910390a1611e7b6120c6565b505060016065555050505050505050565b6001600160a01b038316611ed15760405162461bcd60e51b81526004018080602001828103825260258152602001806156126025913960400191505060405180910390fd5b6001600160a01b038216611f165760405162461bcd60e51b81526004018080602001828103825260238152602001806154ad6023913960400191505060405180910390fd5b611f21838383613acc565b611f5e81604051806060016040528060268152602001615534602691396001600160a01b0386166000908152603360205260409020549190611fd7565b6001600160a01b038085166000908152603360205260408082209390935590841681522054611f8d908261206e565b6001600160a01b0380841660008181526033602090815260409182902094909455805185815290519193928716926000805160206155d183398151915292918290030190a3505050565b600081848411156120665760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561202b578181015183820152602001612013565b50505050905090810190601f1680156120585780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108dd576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b609960009054906101000a90046001600160a01b03166001600160a01b03166325c4121b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561211657600080fd5b505af115801561212a573d6000803e3d6000fd5b50505050565b609954604080516308a0361160e31b815290516000926001600160a01b031691634501b088916004808301926020929190829003018186803b1580156117ee57600080fd5b6000600260655414156121bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206154d0833981519152604482015290519081900360640190fd5b6002606555609954604080516358c3de9360e11b815290516001600160a01b039092169163b187bd2691600480820192602092909190829003018186803b15801561220757600080fd5b505afa15801561221b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223f91906148f3565b1561225c5760405162461bcd60e51b815260040161063990615187565b60995460405163cdf04c0760e01b81526001600160a01b039091169063cdf04c079061228c903090600401614ac0565b60206040518083038186803b1580156122a457600080fd5b505afa1580156122b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122dc91906148f3565b156122f95760405162461bcd60e51b8152600401610639906151d8565b6000612303611826565b9050806001600160a01b0316866001600160a01b03161480612328575060975460ff16155b80612337575061233786613b9f565b6123535760405162461bcd60e51b815260040161063990614f0a565b609c5460405163bdbef07d60e01b81526001600160a01b039091169063bdbef07d90612383908890600401614ac0565b60206040518083038186803b15801561239b57600080fd5b505afa1580156123af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d391906148f3565b6123ef5760405162461bcd60e51b8152600401610639906150fd565b600080866001600160a01b03166175306301ffc9a760e01b6380ac58cd60e01b60405160240161241f9190614d6a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161245d9190614aa4565b6000604051808303818686fa925050503d8060008114612499576040519150601f19603f3d011682016040523d82523d6000602084013e61249e565b606091505b50915091508115806124c15750808060200190518101906124bf91906148f3565b155b6124dd5760405162461bcd60e51b815260040161063990614dd2565b505060006124e9613206565b905060006124f56106f7565b90506125596323b872dd60e01b33308960405160240161251793929190614ad4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526001600160a01b03891690613094565b5060006125668888613c20565b905081156125835761257c83611b178385613495565b9450612587565b8094505b60008061259261170a565b9450509350505060008211156126055760006125b282611b178a86613495565b90506125be88826131a9565b97506125ca8782613ca3565b7f041016c816f0ae89a17cebf19a247e87d1f932255183b75b0cca3ca4e23d8eb387826040516125fb929190614d46565b60405180910390a1505b620186a08710156126285760405162461bcd60e51b815260040161063990614da1565b6126328b88613ca3565b505061266f6126408a610b08565b6001600160a01b038b166000908152609f6020908152604080832054609b9092529091205488918a9142613d83565b6001600160a01b038a166000908152609f6020908152604080832093909355609b90529081204290556126a18a610b08565b905060006126af858461206e565b905060006126bb6106f7565b9050609c60009054906101000a90046001600160a01b03166001600160a01b03166350b721a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561270b57600080fd5b505afa15801561271f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274391906149a0565b612763670de0b6b3a7640000611b1761275c8686613064565b8790613495565b10156127815760405162461bcd60e51b8152600401610639906151fd565b7f97e6c213c123075e233a6f2323f33d8319141b993ab05e9e2f7eb2eda08cb944308d8d8d888d898989426040516127c29a99989796959493929190614bbb565b60405180910390a1506127d36120c6565b505060016065555092979650505050505050565b60006127f230613e31565b15905090565b600054610100900460ff168061281157506128116127e7565b8061281f575060005460ff16155b61285a5760405162461bcd60e51b815260040180806020018281038252602e81526020018061555a602e913960400191505060405180910390fd5b600054610100900460ff16158015612885576000805460ff1961ff0019909116610100171660011790555b61288d613e37565b6128978383613ed7565b801561131a576000805461ff0019169055505050565b600054610100900460ff16806128c657506128c66127e7565b806128d4575060005460ff16155b61290f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061555a602e913960400191505060405180910390fd5b600054610100900460ff1615801561293a576000805460ff1961ff0019909116610100171660011790555b612942613faf565b8015610903576000805461ff001916905550565b60006002606554141561299e576040805162461bcd60e51b815260206004820152601f60248201526000805160206154d0833981519152604482015290519081900360640190fd5b6002606555609954604080516358c3de9360e11b815290516001600160a01b039092169163b187bd2691600480820192602092909190829003018186803b1580156129e857600080fd5b505afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2091906148f3565b15612a3d5760405162461bcd60e51b815260040161063990615187565b6001600160a01b038316612a635760405162461bcd60e51b815260040161063990614fb7565b609954604051634f8419b960e01b81526000916001600160a01b031690634f8419b990612a94908790600401614ac0565b60206040518083038186803b158015612aac57600080fd5b505afa158015612ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae491906143e2565b905060008080806001600160a01b03851615612b8a57609c54604051636179309d60e01b81528694506001600160a01b0380861692636179309d92612b3392909116908c908c90600401614c11565b6040805180830381600087803b158015612b4c57600080fd5b505af1158015612b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b849190614954565b90925090505b61ffff8216612e5357609954604051633f30232f60e21b81526001600160a01b039091169063fcc08cbc90612bc3908b90600401614ac0565b60206040518083038186803b158015612bdb57600080fd5b505afa158015612bef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1391906143e2565b93506001600160a01b038416612d27576099546040805163795053d360e01b815290516000926001600160a01b03169163795053d3916004808301926020929190829003018186803b158015612c6857600080fd5b505afa158015612c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca091906143e2565b60405162a950c360e81b81529091506001600160a01b0382169063a950c30090612ccf90600090600401614d7f565b60206040518083038186803b158015612ce757600080fd5b505afa158015612cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d1f91906143e2565b945050612dc3565b609c54604051634df48c7360e11b81526001600160a01b0390911690639be918e690612d57908b90600401614ac0565b60206040518083038186803b158015612d6f57600080fd5b505afa158015612d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da791906148f3565b612dc35760405162461bcd60e51b815260040161063990615053565b609c54604051636179309d60e01b81528594506001600160a01b0380861692636179309d92612dfc92909116908c908c90600401614c11565b6040805180830381600087803b158015612e1557600080fd5b505af1158015612e29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4d9190614954565b90925090505b60008261ffff1611612e775760405162461bcd60e51b815260040161063990614e51565b8080612e9b5750612e86611826565b6001600160a01b0316336001600160a01b0316145b80612ebe5750612ea9614055565b6001600160a01b0316336001600160a01b0316145b612eda5760405162461bcd60e51b815260040161063990614ed4565b612eed6001600160a01b03891688613094565b60408051600481526024810182526020810180516001600160e01b0316637bf9811960e01b179052905191975060009182916001600160a01b03871691612f349190614aa4565b6000604051808303816000865af19150503d8060008114612f71576040519150601f19603f3d011682016040523d82523d6000602084013e612f76565b606091505b5091509150818015612f97575080806020019051810190612f9791906148f3565b1561300557609c54604051637b364ee960e11b81526001600160a01b038781169263f66c9dd292612fd292909116908e908e90600401614c11565b600060405180830381600087803b158015612fec57600080fd5b505af1158015613000573d6000803e3d6000fd5b505050505b7f14464fb67b1871a79e726fa7af525f8fff56e9e5649d511e47f3a357ae31d2073061302f611826565b86426040516130419493929190614c3d565b60405180910390a16130516120c6565b5050600160655550939695505050505050565b6000811580613071575082155b1561307e57506000610586565b6108dd82611b1785670de0b6b3a7640000613495565b60008060008351602085016000875af190508015600181146130b5576130c0565b3d806000803e806000fd5b5092915050565b6000808515806130d5575086155b156130e55750600090508061319f565b60006130fd87611b178a670de0b6b3a7640000613495565b9050609a5481111561316057600061314361312086670de0b6b3a7640000613495565b611b178a61313d8b61313d609a54896131a990919063ffffffff16565b90613495565b905061315c6131528a836131a9565b611b17838b613495565b9350505b609e541561319d57600061317f609e54426131a990919063ffffffff16565b90506131996301e13380611b1787818a61313d8e88613495565b9250505b505b9550959350505050565b600082821115613200576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b609c54604080516335fd4a6360e11b815290516000926001600160a01b031691636bfa94c691600480830192602092919082900301818787803b15801561324c57600080fd5b505af1158015613260573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061328491906149a0565b905060006132906106f7565b9050600080600061329f61170a565b94505050925092506000806132b787878787876130c7565b909250905060006132c8838361206e565b6099546040805163272b69b960e21b8152815193945060009384936001600160a01b031692639cada6e49260048082019391829003018186803b15801561330e57600080fd5b505afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061334691906149d9565b9092509050600061335b82611b178686613495565b9050600061336985836131a9565b905060006133778d8d613064565b905080609a54101561338957609a8190555b86156133945742609e555b821561341e576099546040805163084c71a360e21b8152905161341e926001600160a01b031691632131c68c916004808301926020929190829003018186803b1580156133e057600080fd5b505afa1580156133f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341891906143e2565b84613ca3565b81156134355761343561342f611826565b83613ca3565b7f755a8059d66d8d243bc9f6913f429a811f154599d0538bb0b6a2ac23f23d2ccd3061345f611826565b609a546040516134769392918b9189918991614d10565b60405180910390a16134866120c6565b50505050505050505050505090565b6000826134a457506000610586565b828202828482816134b157fe5b04146108dd5760405162461bcd60e51b81526004018080602001828103825260218152602001806155886021913960400191505060405180910390fd5b6000808211613541576040805162461bcd60e51b815260206004820152601a602482015279536166654d6174683a206469766973696f6e206279207a65726f60301b604482015290519081900360640190fd5b81838161354a57fe5b049392505050565b6001600160a01b0382166135975760405162461bcd60e51b81526004018080602001828103825260218152602001806155f16021913960400191505060405180910390fd5b6135a382600083613acc565b6135e0816040518060600160405280602281526020016154f0602291396001600160a01b0385166000908152603360205260409020549190611fd7565b6001600160a01b03831660009081526033602052604090205560355461360690826131a9565b6035556040805182815290516000916001600160a01b038516916000805160206155d18339815191529181900360200190a35050565b609954604051633f30232f60e21b81526000918291829182916001600160a01b039091169063fcc08cbc90613675908b90600401614ac0565b60206040518083038186803b15801561368d57600080fd5b505afa1580156136a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c591906143e2565b90506001600160a01b0381166136ed5760405162461bcd60e51b8152600401610639906151b1565b6136f561412d565b613783670de0b6b3a7640000611b1789856001600160a01b031663d4fac45d308f6040518363ffffffff1660e01b8152600401613733929190614af8565b60206040518083038186803b15801561374b57600080fd5b505afa15801561375f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313d91906149a0565b808252613791908a90613c20565b8160200181815250506000806000846001600160a01b0316636f8ae202308e8d8f6040518563ffffffff1660e01b81526004016137d19493929190614c6a565b600060405180830381600087803b1580156137eb57600080fd5b505af11580156137ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613827919081019061462d565b8051929550909350915080156139ae5760006001600160a01b038516156138c7576040516370a0823160e01b81526001600160a01b038616906370a0823190613874903090600401614ac0565b60206040518083038186803b15801561388c57600080fd5b505afa1580156138a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c491906149a0565b90505b60005b82811015613903576138f98482815181106138e157fe5b60200260200101516020015185838151811061101957fe5b98506001016138ca565b506001600160a01b038516156139ac576040516370a0823160e01b81526000906001600160a01b038716906370a0823190613942903090600401614ac0565b60206040518083038186803b15801561395a57600080fd5b505afa15801561396e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399291906149a0565b90506139a86139a182846131a9565b869061206e565b9450505b505b60408051600481526024810182526020810180516001600160e01b0316631f32d1a360e11b179052905160009182916001600160a01b038a16916139f191614aa4565b6000604051808303816000865af19150503d8060008114613a2e576040519150601f19603f3d011682016040523d82523d6000602084013e613a33565b606091505b5091509150818015613a54575080806020019051810190613a5491906148f3565b8015613a6857506001600160a01b03861615155b15613ab657613a8e612710611b178e612710038a6020015161349590919063ffffffff16565b613a988787613c20565b1015613ab65760405162461bcd60e51b815260040161063990615157565b5093985091965050505050509450945094915050565b613ad783838361131a565b6001600160a01b038316613aea5761131a565b609954604051637065accb60e11b81526001600160a01b039091169063e0cb599690613b1a908590600401614ac0565b60206040518083038186803b158015613b3257600080fd5b505afa158015613b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b6a91906148f3565b151560011415613b795761131a565b613b8283611341565b1561131a5760405162461bcd60e51b815260040161063990614eab565b609c5460405163bbbf725b60e01b81526000916001600160a01b03169063bbbf725b90613bd0908590600401614ac0565b60206040518083038186803b158015613be857600080fd5b505afa158015613bfc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058691906148f3565b609c546040516314e03fdd60e11b81526000916001600160a01b0316906329c07fba90613c539086908690600401614d46565b60206040518083038186803b158015613c6b57600080fd5b505afa158015613c7f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd91906149a0565b6001600160a01b038216613cfe576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b613d0a60008383613acc565b603554613d17908261206e565b6035556001600160a01b038216600090815260336020526040902054613d3d908261206e565b6001600160a01b03831660008181526033602090815260408083209490945583518581529351929391926000805160206155d18339815191529281900390910190a35050565b600080613d90848661206e565b90506000838210613daa57613da582856131a9565b613dad565b60005b905088158015613dbb575087155b15613dc95760009250613e25565b88613dd657869250613e25565b871580613de257508087105b15613def57809250613e25565b6000613e0382610cf58c611b178c8e613495565b9050878111613e1f5780613e18576001613e1a565b805b613e21565b875b9350505b50509695505050505050565b3b151590565b600054610100900460ff1680613e505750613e506127e7565b80613e5e575060005460ff16155b613e995760405162461bcd60e51b815260040180806020018281038252602e81526020018061555a602e913960400191505060405180910390fd5b600054610100900460ff16158015612942576000805460ff1961ff0019909116610100171660011790558015610903576000805461ff001916905550565b600054610100900460ff1680613ef05750613ef06127e7565b80613efe575060005460ff16155b613f395760405162461bcd60e51b815260040180806020018281038252602e81526020018061555a602e913960400191505060405180910390fd5b600054610100900460ff16158015613f64576000805460ff1961ff0019909116610100171660011790555b8251613f77906036906020860190614147565b508151613f8b906037906020850190614147565b506038805460ff19166012179055801561131a576000805461ff0019169055505050565b600054610100900460ff1680613fc85750613fc86127e7565b80613fd6575060005460ff16155b6140115760405162461bcd60e51b815260040180806020018281038252602e81526020018061555a602e913960400191505060405180910390fd5b600054610100900460ff1615801561403c576000805460ff1961ff0019909116610100171660011790555b60016065558015610903576000805461ff001916905550565b609c5460408051631758078b60e01b815290516000926001600160a01b031691631758078b916004808301926020929190829003018186803b15801561186b57600080fd5b604051806101a0016040528060608152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001600081526020016000151581526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806040016040528060008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261417d57600085556141c3565b82601f1061419657805160ff19168380011785556141c3565b828001600101855582156141c3579182015b828111156141c35782518255916020019190600101906141a8565b506141cf9291506141d3565b5090565b5b808211156141cf57600081556001016141d4565b60006141fb6141f68461543c565b6153fc565b905082815283838301111561420f57600080fd5b6108dd83602083018461545d565b60008083601f84011261422e578182fd5b5081356001600160401b03811115614244578182fd5b602083019150836020808302850101111561425e57600080fd5b9250929050565b600082601f830112614275578081fd5b815160206142856141f68361541f565b82815281810190858301855b8581101561432e5781518801604080601f19838d030112156142b1578889fd5b80518181016001600160401b0382821081831117156142cc57fe5b90835283890151906142dd82615489565b9082528383015190808211156142f1578b8cfd5b508084019350508b603f84011261430657898afd5b6143168c898501518486016141e8565b81890152865250509284019290840190600101614291565b5090979650505050505050565b60008083601f84011261434c578182fd5b5081356001600160401b03811115614362578182fd5b60208301915083602082850101111561425e57600080fd5b600082601f83011261438a578081fd5b81356143986141f68261543c565b8181528460208386010111156143ac578283fd5b816020850160208301379081016020019190915292915050565b6000602082840312156143d7578081fd5b81356108dd81615489565b6000602082840312156143f3578081fd5b81516108dd81615489565b60008060408385031215614410578081fd5b823561441b81615489565b9150602083013561442b81615489565b809150509250929050565b60008060006060848603121561444a578081fd5b833561445581615489565b9250602084013561446581615489565b929592945050506040919091013590565b60008060008060006080868803121561448d578283fd5b853561449881615489565b945060208601356144a881615489565b93506040860135925060608601356001600160401b038111156144c9578182fd5b6144d58882890161433b565b969995985093965092949392505050565b600080600080608085870312156144fb578182fd5b843561450681615489565b9350602085013561451681615489565b93969395505050506040820135916060013590565b60008060008060808587031215614540578182fd5b843561454b81615489565b9350602085013561455b8161549e565b925060408501356001600160401b0380821115614576578384fd5b6145828883890161437a565b93506060870135915080821115614597578283fd5b506145a48782880161437a565b91505092959194509250565b6000806000604084860312156145c4578081fd5b83356145cf81615489565b925060208401356001600160401b038111156145e9578182fd5b6145f58682870161433b565b9497909650939450505050565b60008060408385031215614614578182fd5b823561461f81615489565b946020939093013593505050565b600080600060608486031215614641578081fd5b835161464c81615489565b6020850151604086015191945092506001600160401b0381111561466e578182fd5b61467a86828701614265565b9150509250925092565b600080600060608486031215614698578081fd5b83356146a381615489565b95602085013595506040909401359392505050565b600080600080600080600080600060a08a8c0312156146d5578687fd5b89356001600160401b03808211156146eb578889fd5b6146f78d838e0161421d565b909b50995060208c013591508082111561470f578889fd5b61471b8d838e0161421d565b909950975060408c0135915080821115614733578586fd5b61473f8d838e0161421d565b909750955060608c0135915061475482615489565b90935060808b01359080821115614769578384fd5b506147768c828d0161433b565b915080935050809150509295985092959850929598565b6000602080838503121561479f578182fd5b82516001600160401b03808211156147b5578384fd5b818501915085601f8301126147c8578384fd5b81516147d66141f68261541f565b818152848101908486016040808502870188018b10156147f4578889fd5b8896505b848710156148575780828c03121561480e578889fd5b8051818101818110888211171561482157fe5b8252825161482e81615489565b81528289015161483d8161549e565b818a015284526001969096019592870192908101906147f8565b50909998505050505050505050565b600060208284031215614877578081fd5b81516001600160401b0381111561488c578182fd5b610cca84828501614265565b600080602083850312156148aa578182fd5b82356001600160401b038111156148bf578283fd5b6148cb8582860161421d565b90969095509350505050565b6000602082840312156148e8578081fd5b81356108dd8161549e565b600060208284031215614904578081fd5b81516108dd8161549e565b600060208284031215614920578081fd5b81516001600160401b03811115614935578182fd5b8201601f81018413614945578182fd5b610cca848251602084016141e8565b60008060408385031215614966578182fd5b825161ffff81168114614977578283fd5b602084015190925061442b8161549e565b600060208284031215614999578081fd5b5035919050565b6000602082840312156149b1578081fd5b5051919050565b600080604083850312156149ca578182fd5b50508035926020909101359150565b600080604083850312156149eb578182fd5b505080516020909101519092909150565b600080600080600060a08688031215614a13578283fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b6001600160a01b03169052565b15159052565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452614a9081602086016020860161545d565b601f01601f19169290920160200192915050565b60008251614ab681846020870161545d565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b600061012080830160018060a01b03808e1685526020818e168187015260408d8188015260608d818901528c60808901528b60a08901528a60c08901528560e0890152849550895180865261014089019650838b019550875b81811015614b9c57865180518716895285810151868a01528401511515848901529682019695840195600101614b6b565b505050505061010094909401949094529b9a5050505050505050505050565b6001600160a01b039a8b168152988a1660208a01529690981660408801526060870194909452608086019290925260a085015260c084015260e08301526101008201929092526101208101919091526101400190565b6001600160a01b038481168252831660208201526060604082018190526000906115f590830184614a78565b6001600160a01b03948516815292909316602083015261ffff166040820152606081019190915260800190565b6001600160a01b03948516815292841660208401526040830191909152909116606082015260800190565b6001600160a01b038681168252851660208201526040810184905260806060820181905260009061114f9083018486614a4e565b6001600160a01b03878116825286166020820152604081018590526060810184905260a060808201819052600090614d049083018486614a4e565b98975050505050505050565b6001600160a01b03968716815294909516602085015260408401929092526060830152608082015260a081019190915260c00190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6001600160e01b031991909116815260200190565b61ffff91909116815260200190565b6000602082526108dd6020830184614a78565b6020808252601790820152761a5b9d985b1a59081b1a5c5d5a591a5d1e535a5b9d1959604a1b604082015260600190565b6020808252601290820152711391951cc81b9bdd081cdd5c1c1bdc9d195960721b604082015260600190565b6020808252600c908201526b1b9bdd081d995c9a599a595960a21b604082015260600190565b6020808252601390820152721b995959081dda5d1a191c985dc8185cdcd95d606a1b604082015260600190565b60208082526013908201527234b73b30b634b2103a3930b739b0b1ba34b7b760691b604082015260600190565b6020808252601390820152726f6e6c79206f776e65722c20666163746f727960681b604082015260600190565b6020808252600f908201526e636f6f6c646f776e2061637469766560881b604082015260600190565b6020808252601c908201527b6f6e6c79206d616e616765722c207472616465722c207075626c696360201b604082015260600190565b6020808252600c908201526b6f6e6c79206d656d6265727360a01b604082015260600190565b6020808252600c908201526b37b7363c9036b0b730b3b2b960a11b604082015260600190565b6020808252601290820152716e6f7420656e6f7567682062616c616e636560701b604082015260600190565b6020808252601b908201527a37b7363c903837b7b610333630b9b4103637b0b71037b934b3b4b760291b604082015260600190565b6020808252600f908201526e696e76616c6964206164647265737360881b604082015260600190565b6020808252600c908201526b1bdb9b1e48185b1b1bddd95960a21b604082015260600190565b6020808252600990820152681d1e0819985a5b195960ba1b604082015260600190565b60208082526010908201526f34b73b30b634b21031b7b7b63237bbb760811b604082015260600190565b6020808252600e908201526d185cdcd95d08191a5cd8589b195960921b604082015260600190565b602080825260119082015270696e76616c696420746f6c6572616e636560781b604082015260600190565b60208082526016908201527518995b1bddc81cdd5c1c1b1e481d1a1c995cda1bdb1960521b604082015260600190565b6020808252600d908201526c6869676820736c69707061676560981b604082015260600190565b6020808252601590820152741a5b9d985b1a590819195c1bdcda5d08185cdcd95d605a1b604082015260600190565b60208082526011908201527031b0b7103bb4ba34323930bb9039b7b7b760791b604082015260600190565b6020808252601690820152756869676820776974686472617720736c69707061676560501b604082015260600190565b60208082526010908201526f18dbdb9d1c9858dd1cc81c185d5cd95960821b604082015260600190565b6020808252600d908201526c1a5b9d985b1a590819dd585c99609a1b604082015260600190565b6020808252600b908201526a1c1bdbdb081c185d5cd95960aa1b604082015260600190565b60208082526010908201526f1b995959081b5a5b8819195c1bdcda5d60821b604082015260600190565b6020808252601490820152736f6e6c792067756172646564206164647265737360601b604082015260600190565b602080825260189082015277195e1a5d08199959481d1c985b9cd9995c8819985a5b195960421b604082015260600190565b6020808252601490820152731a5b9d985b1a59081b195b991a5b99c81c1bdbdb60621b604082015260600190565b60006020825282516101a08060208501526152d46101c0850183614a78565b9150602085015160408501526040850151606085015260608501516152fc6080860182614a3b565b506080850151848303601f190160a08601526153188382614a78565b92505060a085015160c085015260c085015161533760e0860182614a48565b5060e08501516101008581019190915285015161012080860191909152850151610140808601919091528501516101608086019190915285015161018080860191909152909401519390920192909252919050565b90815260200190565b60ff91909116815260200190565b6000808335601e198436030181126153b9578283fd5b8301803591506001600160401b038211156153d2578283fd5b60200191503681900382131561425e57600080fd5b60008235603e19833603018112614ab6578182fd5b6040518181016001600160401b038111828210171561541757fe5b604052919050565b60006001600160401b0382111561543257fe5b5060209081020190565b60006001600160401b0382111561544f57fe5b50601f01601f191660200190565b60005b83811015615478578181015183820152602001615460565b8381111561212a5750506000910152565b6001600160a01b038116811461090357600080fd5b801515811461090357600080fdfe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735265656e7472616e637947756172643a207265656e7472616e742063616c6c0045524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220eb7c2ac81b9b3ce1c12c40b5417ee0eef1addcb4280f2947d5c6658cd60647f164736f6c63430007060033