0 txs
8 calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
asset
viewfunction asset() view returns (address)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
balanceOfAsset
viewfunction balanceOfAsset(address account) view returns (uint256)
convertToAssets
viewfunction convertToAssets(uint256 shares) view returns (uint256)
convertToShares
viewfunction convertToShares(uint256 assets) view returns (uint256)
decimals
purefunction decimals() pure returns (uint8)
getPricePerShare
viewfunction getPricePerShare() view returns (uint256)
hasShares
viewfunction hasShares(address account) view returns (bool)
maxDeposit
viewfunction maxDeposit(address) view returns (uint256)
maxMint
viewfunction maxMint(address) view returns (uint256)
maxRedeem
viewfunction maxRedeem(address owner) view returns (uint256)
maxWithdraw
viewfunction maxWithdraw(address owner) view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
previewDeposit
viewfunction previewDeposit(uint256 assets) view returns (uint256)
previewMint
viewfunction previewMint(uint256 shares) view returns (uint256)
previewRedeem
viewfunction previewRedeem(uint256 shares) view returns (uint256)
previewWithdraw
viewfunction previewWithdraw(uint256 assets) view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalAssets
viewfunction totalAssets() view returns (uint256)
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(uint256 assets, address receiver) returns (uint256)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address asset_)
mint
nonpayablefunction mint(uint256 shares, address receiver) returns (uint256)
pause
nonpayablefunction pause()
redeem
nonpayablefunction redeem(uint256 shares, address receiver, address owner) returns (uint256)
renounceOwnership
nonpayablefunction renounceOwnership()
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 assets, address receiver, address owner) returns (uint256)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50620000226200002860201b60201c565b620001d2565b600060019054906101000a900460ff16156200007b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000729062000175565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620000ec5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000e39190620001b5565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200015d602783620000ee565b91506200016a82620000ff565b604082019050919050565b6000602082019050818103600083015262000190816200014e565b9050919050565b600060ff82169050919050565b620001af8162000197565b82525050565b6000602082019050620001cc6000830184620001a4565b92915050565b6142c980620001e26000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80638456cb5911610130578063ba087652116100b8578063ce96cb771161007c578063ce96cb7714610704578063d905777e14610734578063dd62ed3e14610764578063ef8b30f714610794578063f2fde38b146107c457610227565b8063ba08765214610628578063c1d8994114610658578063c4d66de814610688578063c63d75b6146106a4578063c6e6f592146106d457610227565b806395d89b41116100ff57806395d89b411461054a578063a457c2d714610568578063a9059cbb14610598578063b3d7f6b9146105c8578063b460af94146105f857610227565b80638456cb59146104c25780638da5cb5b146104cc578063944e6c96146104ea57806394bf804d1461051a57610227565b806339509351116101b35780634cdad506116101825780634cdad5061461040a5780635c975abb1461043a5780636e553f651461045857806370a0823114610488578063715018a6146104b857610227565b806339509351146103825780633d68175c146103b25780633f4ba83a146103d0578063402d267d146103da57610227565b80630a28a477116101fa5780630a28a477146102c857806318160ddd146102f857806323b872dd14610316578063313ce5671461034657806338d52e0f1461036457610227565b806301e1d1141461022c57806306fdde031461024a57806307a2d13a14610268578063095ea7b314610298575b600080fd5b6102346107e0565b6040516102419190612c12565b60405180910390f35b610252610883565b60405161025f9190612cbd565b60405180910390f35b610282600480360381019061027d9190612d10565b610915565b60405161028f9190612c12565b60405180910390f35b6102b260048036038101906102ad9190612d9b565b610929565b6040516102bf9190612df6565b60405180910390f35b6102e260048036038101906102dd9190612d10565b610945565b6040516102ef9190612c12565b60405180910390f35b610300610959565b60405161030d9190612c12565b60405180910390f35b610330600480360381019061032b9190612e11565b610963565b60405161033d9190612df6565b60405180910390f35b61034e610981565b60405161035b9190612e80565b60405180910390f35b61036c61098a565b6040516103799190612eaa565b60405180910390f35b61039c60048036038101906103979190612d9b565b6109b4565b6040516103a99190612df6565b60405180910390f35b6103ba6109d0565b6040516103c79190612c12565b60405180910390f35b6103d8610ac5565b005b6103f460048036038101906103ef9190612ec5565b610ad7565b6040516104019190612c12565b60405180910390f35b610424600480360381019061041f9190612d10565b610b01565b6040516104319190612c12565b60405180910390f35b610442610b15565b60405161044f9190612df6565b60405180910390f35b610472600480360381019061046d9190612ef2565b610b2c565b60405161047f9190612c12565b60405180910390f35b6104a2600480360381019061049d9190612ec5565b610b48565b6040516104af9190612c12565b60405180910390f35b6104c0610b91565b005b6104ca610ba5565b005b6104d4610bb7565b6040516104e19190612eaa565b60405180910390f35b61050460048036038101906104ff9190612ec5565b610be1565b6040516105119190612df6565b60405180910390f35b610534600480360381019061052f9190612ef2565b610bf5565b6040516105419190612c12565b60405180910390f35b610552610c11565b60405161055f9190612cbd565b60405180910390f35b610582600480360381019061057d9190612d9b565b610ca3565b60405161058f9190612df6565b60405180910390f35b6105b260048036038101906105ad9190612d9b565b610cbf565b6040516105bf9190612df6565b60405180910390f35b6105e260048036038101906105dd9190612d10565b610cdb565b6040516105ef9190612c12565b60405180910390f35b610612600480360381019061060d9190612f32565b610cef565b60405161061f9190612c12565b60405180910390f35b610642600480360381019061063d9190612f32565b610d0d565b60405161064f9190612c12565b60405180910390f35b610672600480360381019061066d9190612ec5565b610d2b565b60405161067f9190612c12565b60405180910390f35b6106a2600480360381019061069d9190612ec5565b610d45565b005b6106be60048036038101906106b99190612ec5565b610f4a565b6040516106cb9190612c12565b60405180910390f35b6106ee60048036038101906106e99190612d10565b610f74565b6040516106fb9190612c12565b60405180910390f35b61071e60048036038101906107199190612ec5565b610f88565b60405161072b9190612c12565b60405180910390f35b61074e60048036038101906107499190612ec5565b610fa4565b60405161075b9190612c12565b60405180910390f35b61077e60048036038101906107799190612f85565b610fb6565b60405161078b9190612c12565b60405180910390f35b6107ae60048036038101906107a99190612d10565b61103d565b6040516107bb9190612c12565b60405180910390f35b6107de60048036038101906107d99190612ec5565b611051565b005b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161083d9190612eaa565b602060405180830381865afa15801561085a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e9190612fda565b905090565b60606036805461089290613036565b80601f01602080910402602001604051908101604052809291908181526020018280546108be90613036565b801561090b5780601f106108e05761010080835404028352916020019161090b565b820191906000526020600020905b8154815290600101906020018083116108ee57829003601f168201915b5050505050905090565b60006109228260006110d4565b9050919050565b60006109336111e3565b61093d838361122d565b905092915050565b6000610952826001611250565b9050919050565b6000603554905090565b600061096d6111e3565b61097884848461134e565b90509392505050565b60006006905090565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006109be6111e3565b6109c8838361137d565b905092915050565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a649190612fda565b905060008103610aa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa0906130b3565b60405180910390fd5b610abf670de0b6b3a7640000620f4240836113b4565b91505090565b610acd6114c5565b610ad5611543565b565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610b0e8260006110d4565b9050919050565b6000609760009054906101000a900460ff16905090565b6000610b366111e3565b610b4083836115a6565b905092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b996114c5565b610ba3600061161d565b565b610bad6114c5565b610bb56116e3565b565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610bed83610b48565b119050919050565b6000610bff6111e3565b610c098383611746565b905092915050565b606060378054610c2090613036565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4c90613036565b8015610c995780601f10610c6e57610100808354040283529160200191610c99565b820191906000526020600020905b815481529060010190602001808311610c7c57829003601f168201915b5050505050905090565b6000610cad6111e3565b610cb783836117bd565b905092915050565b6000610cc96111e3565b610cd38383611834565b905092915050565b6000610ce88260016110d4565b9050919050565b6000610cf96111e3565b610d04848484611857565b90509392505050565b6000610d176111e3565b610d228484846118d0565b90509392505050565b6000610d3e610d3983610b48565b610915565b9050919050565b60008060019054906101000a900460ff16159050808015610d765750600160008054906101000a900460ff1660ff16105b80610da35750610d8530611949565b158015610da25750600160008054906101000a900460ff1660ff16145b5b610de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd990613145565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610e1f576001600060016101000a81548160ff0219169083151502179055505b610e936040518060400160405280601781526020017f476f6c64656e206261636b656420555320446f6c6c61720000000000000000008152506040518060400160405280600481526020017f555341440000000000000000000000000000000000000000000000000000000081525061196c565b610e9c826119c9565b610ea4611a24565b610eac611a7d565b8160fb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610f465760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610f3d91906131aa565b60405180910390a15b5050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610f81826000611250565b9050919050565b6000610f9d610f9683610b48565b60006110d4565b9050919050565b6000610faf82610b48565b9050919050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061104a826000611250565b9050919050565b6110596114c5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90613237565b60405180910390fd5b6110d18161161d565b50565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611144573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111689190612fda565b9050600081036111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a4906132a3565b60405180910390fd5b6111da670de0b6b3a7640000620f4240836111c891906132f2565b8587611ad6909392919063ffffffff16565b91505092915050565b6111eb610b15565b1561122b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122290613380565b60405180910390fd5b565b600080611238611b4c565b9050611245818585611b54565b600191505092915050565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190612fda565b905060008103611329576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611320906132a3565b60405180910390fd5b6113458164e8d4a510008587611ad6909392919063ffffffff16565b91505092915050565b600080611359611b4c565b9050611366858285611d1d565b611371858585611da9565b60019150509392505050565b600080611388611b4c565b90506113a981858561139a8589610fb6565b6113a491906133a0565b611b54565b600191505092915050565b60008060008019858709858702925082811083820303915050600081036113ef578382816113e5576113e46133d4565b5b04925050506114be565b808411611431576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114289061344f565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b6114cd611b4c565b73ffffffffffffffffffffffffffffffffffffffff166114eb610bb7565b73ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611538906134bb565b60405180910390fd5b565b61154b612022565b6000609760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61158f611b4c565b60405161159c9190612eaa565b60405180910390a1565b60006115b182610ad7565b8311156115f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ea90613527565b60405180910390fd5b60006115fe8461103d565b905061161361160b611b4c565b84868461206b565b8091505092915050565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6116eb6111e3565b6001609760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861172f611b4c565b60405161173c9190612eaa565b60405180910390a1565b600061175182610f4a565b831115611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90613593565b60405180910390fd5b600061179e84610cdb565b90506117b36117ab611b4c565b84838761206b565b8091505092915050565b6000806117c8611b4c565b905060006117d68286610fb6565b90508381101561181b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181290613625565b60405180910390fd5b6118288286868403611b54565b60019250505092915050565b60008061183f611b4c565b905061184c818585611da9565b600191505092915050565b600061186282610f88565b8411156118a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189b90613691565b60405180910390fd5b60006118af85610945565b90506118c56118bc611b4c565b85858885612110565b809150509392505050565b60006118db82610fa4565b84111561191d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611914906136fd565b60405180910390fd5b600061192885610b01565b905061193e611935611b4c565b85858489612110565b809150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166119bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b29061378f565b60405180910390fd5b6119c5828261220b565b5050565b600060019054906101000a900460ff16611a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0f9061378f565b60405180910390fd5b611a218161227e565b50565b600060019054906101000a900460ff16611a73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6a9061378f565b60405180910390fd5b611a7b61234b565b565b600060019054906101000a900460ff16611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac39061378f565b60405180910390fd5b611ad46123b7565b565b600080611ae48686866113b4565b905060016002811115611afa57611af96137af565b5b836002811115611b0d57611b0c6137af565b5b148015611b2b575060008480611b2657611b256133d4565b5b868809115b15611b4057600181611b3d91906133a0565b90505b80915050949350505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bba90613850565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c29906138e2565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d109190612c12565b60405180910390a3505050565b6000611d298484610fb6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611da35781811015611d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8c9061394e565b60405180910390fd5b611da28484848403611b54565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0f906139e0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7e90613a72565b60405180910390fd5b611e92838383612418565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1090613b04565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120099190612c12565b60405180910390a361201c84848461241d565b50505050565b61202a610b15565b612069576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206090613b70565b60405180910390fd5b565b612099606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16853085612422565b6120a383826124ab565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78484604051612102929190613b90565b60405180910390a350505050565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461214f5761214e838683611d1d565b5b6121598382612602565b612186606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685846127d1565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db85856040516121fc929190613b90565b60405180910390a45050505050565b600060019054906101000a900460ff1661225a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122519061378f565b60405180910390fd5b81603690816122699190613d8a565b5080603790816122799190613d8a565b505050565b600060019054906101000a900460ff166122cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c49061378f565b60405180910390fd5b6000806122d983612857565b91509150816122e95760126122eb565b805b606560146101000a81548160ff021916908360ff16021790555082606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600060019054906101000a900460ff1661239a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123919061378f565b60405180910390fd5b6000609760006101000a81548160ff021916908315150217905550565b600060019054906101000a900460ff16612406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fd9061378f565b60405180910390fd5b612416612411611b4c565b61161d565b565b505050565b505050565b6124a5846323b872dd60e01b85858560405160240161244393929190613e5c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612987565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361251a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251190613edf565b60405180910390fd5b61252660008383612418565b806035600082825461253891906133a0565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125ea9190612c12565b60405180910390a36125fe6000838361241d565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266890613f71565b60405180910390fd5b61267d82600083612418565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126fb90614003565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603560008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127b89190612c12565b60405180910390a36127cc8360008461241d565b505050565b6128528363a9059cbb60e01b84846040516024016127f0929190614023565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612987565b505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1663313ce56760e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516128ec9190614093565b600060405180830381855afa9150503d8060008114612927576040519150601f19603f3d011682016040523d82523d6000602084013e61292c565b606091505b509150915081801561294057506020815110155b156129785760008180602001905181019061295b9190612fda565b905060ff801681116129765760018194509450505050612982565b505b6000809350935050505b915091565b60006129e9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612a4f9092919063ffffffff16565b9050600081511480612a0b575080806020019051810190612a0a91906140d6565b5b612a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4190614175565b60405180910390fd5b505050565b6060612a5e8484600085612a67565b90509392505050565b606082471015612aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa390614207565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612ad59190614093565b60006040518083038185875af1925050503d8060008114612b12576040519150601f19603f3d011682016040523d82523d6000602084013e612b17565b606091505b5091509150612b2887838387612b34565b92505050949350505050565b60608315612b96576000835103612b8e57612b4e85611949565b612b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8490614273565b60405180910390fd5b5b829050612ba1565b612ba08383612ba9565b5b949350505050565b600082511115612bbc5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf09190612cbd565b60405180910390fd5b6000819050919050565b612c0c81612bf9565b82525050565b6000602082019050612c276000830184612c03565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c67578082015181840152602081019050612c4c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c8f82612c2d565b612c998185612c38565b9350612ca9818560208601612c49565b612cb281612c73565b840191505092915050565b60006020820190508181036000830152612cd78184612c84565b905092915050565b600080fd5b612ced81612bf9565b8114612cf857600080fd5b50565b600081359050612d0a81612ce4565b92915050565b600060208284031215612d2657612d25612cdf565b5b6000612d3484828501612cfb565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d6882612d3d565b9050919050565b612d7881612d5d565b8114612d8357600080fd5b50565b600081359050612d9581612d6f565b92915050565b60008060408385031215612db257612db1612cdf565b5b6000612dc085828601612d86565b9250506020612dd185828601612cfb565b9150509250929050565b60008115159050919050565b612df081612ddb565b82525050565b6000602082019050612e0b6000830184612de7565b92915050565b600080600060608486031215612e2a57612e29612cdf565b5b6000612e3886828701612d86565b9350506020612e4986828701612d86565b9250506040612e5a86828701612cfb565b9150509250925092565b600060ff82169050919050565b612e7a81612e64565b82525050565b6000602082019050612e956000830184612e71565b92915050565b612ea481612d5d565b82525050565b6000602082019050612ebf6000830184612e9b565b92915050565b600060208284031215612edb57612eda612cdf565b5b6000612ee984828501612d86565b91505092915050565b60008060408385031215612f0957612f08612cdf565b5b6000612f1785828601612cfb565b9250506020612f2885828601612d86565b9150509250929050565b600080600060608486031215612f4b57612f4a612cdf565b5b6000612f5986828701612cfb565b9350506020612f6a86828701612d86565b9250506040612f7b86828701612d86565b9150509250925092565b60008060408385031215612f9c57612f9b612cdf565b5b6000612faa85828601612d86565b9250506020612fbb85828601612d86565b9150509250929050565b600081519050612fd481612ce4565b92915050565b600060208284031215612ff057612fef612cdf565b5b6000612ffe84828501612fc5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061304e57607f821691505b60208210810361306157613060613007565b5b50919050565b7f496e76616c696420475841472070726963650000000000000000000000000000600082015250565b600061309d601283612c38565b91506130a882613067565b602082019050919050565b600060208201905081810360008301526130cc81613090565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600061312f602e83612c38565b915061313a826130d3565b604082019050919050565b6000602082019050818103600083015261315e81613122565b9050919050565b6000819050919050565b6000819050919050565b600061319461318f61318a84613165565b61316f565b612e64565b9050919050565b6131a481613179565b82525050565b60006020820190506131bf600083018461319b565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613221602683612c38565b915061322c826131c5565b604082019050919050565b6000602082019050818103600083015261325081613214565b9050919050565b7f496e76616c696420617373657420707269636500000000000000000000000000600082015250565b600061328d601383612c38565b915061329882613257565b602082019050919050565b600060208201905081810360008301526132bc81613280565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132fd82612bf9565b915061330883612bf9565b925082820261331681612bf9565b9150828204841483151761332d5761332c6132c3565b5b5092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061336a601083612c38565b915061337582613334565b602082019050919050565b600060208201905081810360008301526133998161335d565b9050919050565b60006133ab82612bf9565b91506133b683612bf9565b92508282019050808211156133ce576133cd6132c3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b6000613439601583612c38565b915061344482613403565b602082019050919050565b600060208201905081810360008301526134688161342c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134a5602083612c38565b91506134b08261346f565b602082019050919050565b600060208201905081810360008301526134d481613498565b9050919050565b7f455243343632363a206465706f736974206d6f7265207468616e206d61780000600082015250565b6000613511601e83612c38565b915061351c826134db565b602082019050919050565b6000602082019050818103600083015261354081613504565b9050919050565b7f455243343632363a206d696e74206d6f7265207468616e206d61780000000000600082015250565b600061357d601b83612c38565b915061358882613547565b602082019050919050565b600060208201905081810360008301526135ac81613570565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061360f602583612c38565b915061361a826135b3565b604082019050919050565b6000602082019050818103600083015261363e81613602565b9050919050565b7f455243343632363a207769746864726177206d6f7265207468616e206d617800600082015250565b600061367b601f83612c38565b915061368682613645565b602082019050919050565b600060208201905081810360008301526136aa8161366e565b9050919050565b7f455243343632363a2072656465656d206d6f7265207468616e206d6178000000600082015250565b60006136e7601d83612c38565b91506136f2826136b1565b602082019050919050565b60006020820190508181036000830152613716816136da565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613779602b83612c38565b91506137848261371d565b604082019050919050565b600060208201905081810360008301526137a88161376c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061383a602483612c38565b9150613845826137de565b604082019050919050565b600060208201905081810360008301526138698161382d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006138cc602283612c38565b91506138d782613870565b604082019050919050565b600060208201905081810360008301526138fb816138bf565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613938601d83612c38565b915061394382613902565b602082019050919050565b600060208201905081810360008301526139678161392b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139ca602583612c38565b91506139d58261396e565b604082019050919050565b600060208201905081810360008301526139f9816139bd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a5c602383612c38565b9150613a6782613a00565b604082019050919050565b60006020820190508181036000830152613a8b81613a4f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613aee602683612c38565b9150613af982613a92565b604082019050919050565b60006020820190508181036000830152613b1d81613ae1565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613b5a601483612c38565b9150613b6582613b24565b602082019050919050565b60006020820190508181036000830152613b8981613b4d565b9050919050565b6000604082019050613ba56000830185612c03565b613bb26020830184612c03565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613c4a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613c0d565b613c548683613c0d565b95508019841693508086168417925050509392505050565b6000613c87613c82613c7d84612bf9565b61316f565b612bf9565b9050919050565b6000819050919050565b613ca183613c6c565b613cb5613cad82613c8e565b848454613c1a565b825550505050565b600090565b613cca613cbd565b613cd5818484613c98565b505050565b5b81811015613cf957613cee600082613cc2565b600181019050613cdb565b5050565b601f821115613d3e57613d0f81613be8565b613d1884613bfd565b81016020851015613d27578190505b613d3b613d3385613bfd565b830182613cda565b50505b505050565b600082821c905092915050565b6000613d6160001984600802613d43565b1980831691505092915050565b6000613d7a8383613d50565b9150826002028217905092915050565b613d9382612c2d565b67ffffffffffffffff811115613dac57613dab613bb9565b5b613db68254613036565b613dc1828285613cfd565b600060209050601f831160018114613df45760008415613de2578287015190505b613dec8582613d6e565b865550613e54565b601f198416613e0286613be8565b60005b82811015613e2a57848901518255600182019150602085019450602081019050613e05565b86831015613e475784890151613e43601f891682613d50565b8355505b6001600288020188555050505b505050505050565b6000606082019050613e716000830186612e9b565b613e7e6020830185612e9b565b613e8b6040830184612c03565b949350505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613ec9601f83612c38565b9150613ed482613e93565b602082019050919050565b60006020820190508181036000830152613ef881613ebc565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f5b602183612c38565b9150613f6682613eff565b604082019050919050565b60006020820190508181036000830152613f8a81613f4e565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613fed602283612c38565b9150613ff882613f91565b604082019050919050565b6000602082019050818103600083015261401c81613fe0565b9050919050565b60006040820190506140386000830185612e9b565b6140456020830184612c03565b9392505050565b600081519050919050565b600081905092915050565b600061406d8261404c565b6140778185614057565b9350614087818560208601612c49565b80840191505092915050565b600061409f8284614062565b915081905092915050565b6140b381612ddb565b81146140be57600080fd5b50565b6000815190506140d0816140aa565b92915050565b6000602082840312156140ec576140eb612cdf565b5b60006140fa848285016140c1565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b600061415f602a83612c38565b915061416a82614103565b604082019050919050565b6000602082019050818103600083015261418e81614152565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006141f1602683612c38565b91506141fc82614195565b604082019050919050565b60006020820190508181036000830152614220816141e4565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061425d601d83612c38565b915061426882614227565b602082019050919050565b6000602082019050818103600083015261428c81614250565b905091905056fea2646970667358221220f7eb4c26ce116f1fd7d63835509ce1608ee899aed5a5afb555f2c39940aeb00c64736f6c63430008140033