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)
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_)
migrate
nonpayablefunction migrate(address[] users, uint256[] amounts)
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
0x60806040523480156200001157600080fd5b50620000226200002860201b60201c565b620001d2565b600060019054906101000a900460ff16156200007b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000729062000175565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620000ec5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000e39190620001b5565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200015d602783620000ee565b91506200016a82620000ff565b604082019050919050565b6000602082019050818103600083015262000190816200014e565b9050919050565b600060ff82169050919050565b620001af8162000197565b82525050565b6000602082019050620001cc6000830184620001a4565b92915050565b61435580620001e26000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80638da5cb5b11610130578063c1d89941116100b8578063d905777e1161007c578063d905777e14610716578063dd62ed3e14610746578063de01e15114610776578063ef8b30f714610792578063f2fde38b146107c257610227565b8063c1d899411461063a578063c4d66de81461066a578063c63d75b614610686578063c6e6f592146106b6578063ce96cb77146106e657610227565b8063a457c2d7116100ff578063a457c2d71461054a578063a9059cbb1461057a578063b3d7f6b9146105aa578063b460af94146105da578063ba0876521461060a57610227565b80638da5cb5b146104ae578063944e6c96146104cc57806394bf804d146104fc57806395d89b411461052c57610227565b806339509351116101b35780635c975abb116101825780635c975abb1461041c5780636e553f651461043a57806370a082311461046a578063715018a61461049a5780638456cb59146104a457610227565b806339509351146103825780633f4ba83a146103b2578063402d267d146103bc5780634cdad506146103ec57610227565b80630a28a477116101fa5780630a28a477146102c857806318160ddd146102f857806323b872dd14610316578063313ce5671461034657806338d52e0f1461036457610227565b806301e1d1141461022c57806306fdde031461024a57806307a2d13a14610268578063095ea7b314610298575b600080fd5b6102346107de565b6040516102419190612b94565b60405180910390f35b610252610881565b60405161025f9190612c3f565b60405180910390f35b610282600480360381019061027d9190612c97565b610913565b60405161028f9190612b94565b60405180910390f35b6102b260048036038101906102ad9190612d22565b610927565b6040516102bf9190612d7d565b60405180910390f35b6102e260048036038101906102dd9190612c97565b610943565b6040516102ef9190612b94565b60405180910390f35b610300610957565b60405161030d9190612b94565b60405180910390f35b610330600480360381019061032b9190612d98565b610961565b60405161033d9190612d7d565b60405180910390f35b61034e61097f565b60405161035b9190612e07565b60405180910390f35b61036c610988565b6040516103799190612e31565b60405180910390f35b61039c60048036038101906103979190612d22565b6109b2565b6040516103a99190612d7d565b60405180910390f35b6103ba6109ce565b005b6103d660048036038101906103d19190612e4c565b6109e0565b6040516103e39190612b94565b60405180910390f35b61040660048036038101906104019190612c97565b610a0a565b6040516104139190612b94565b60405180910390f35b610424610a1e565b6040516104319190612d7d565b60405180910390f35b610454600480360381019061044f9190612e79565b610a35565b6040516104619190612b94565b60405180910390f35b610484600480360381019061047f9190612e4c565b610a51565b6040516104919190612b94565b60405180910390f35b6104a2610a9a565b005b6104ac610aae565b005b6104b6610ac0565b6040516104c39190612e31565b60405180910390f35b6104e660048036038101906104e19190612e4c565b610aea565b6040516104f39190612d7d565b60405180910390f35b61051660048036038101906105119190612e79565b610afe565b6040516105239190612b94565b60405180910390f35b610534610b1a565b6040516105419190612c3f565b60405180910390f35b610564600480360381019061055f9190612d22565b610bac565b6040516105719190612d7d565b60405180910390f35b610594600480360381019061058f9190612d22565b610bc8565b6040516105a19190612d7d565b60405180910390f35b6105c460048036038101906105bf9190612c97565b610be4565b6040516105d19190612b94565b60405180910390f35b6105f460048036038101906105ef9190612eb9565b610bf8565b6040516106019190612b94565b60405180910390f35b610624600480360381019061061f9190612eb9565b610c16565b6040516106319190612b94565b60405180910390f35b610654600480360381019061064f9190612e4c565b610c34565b6040516106619190612b94565b60405180910390f35b610684600480360381019061067f9190612e4c565b610c4e565b005b6106a0600480360381019061069b9190612e4c565b610e53565b6040516106ad9190612b94565b60405180910390f35b6106d060048036038101906106cb9190612c97565b610e7d565b6040516106dd9190612b94565b60405180910390f35b61070060048036038101906106fb9190612e4c565b610e91565b60405161070d9190612b94565b60405180910390f35b610730600480360381019061072b9190612e4c565b610ead565b60405161073d9190612b94565b60405180910390f35b610760600480360381019061075b9190612f0c565b610ebf565b60405161076d9190612b94565b60405180910390f35b610790600480360381019061078b9190613007565b610f46565b005b6107ac60048036038101906107a79190612c97565b610fc0565b6040516107b99190612b94565b60405180910390f35b6107dc60048036038101906107d79190612e4c565b610fd4565b005b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161083b9190612e31565b602060405180830381865afa158015610858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087c919061309d565b905090565b606060368054610890906130f9565b80601f01602080910402602001604051908101604052809291908181526020018280546108bc906130f9565b80156109095780601f106108de57610100808354040283529160200191610909565b820191906000526020600020905b8154815290600101906020018083116108ec57829003601f168201915b5050505050905090565b6000610920826000611057565b9050919050565b600061093161115d565b61093b83836111a7565b905092915050565b60006109508260016111ca565b9050919050565b6000603554905090565b600061096b61115d565b6109768484846112d0565b90509392505050565b60006006905090565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006109bc61115d565b6109c683836112ff565b905092915050565b6109d6611336565b6109de6113b4565b565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610a17826000611057565b9050919050565b6000609760009054906101000a900460ff16905090565b6000610a3f61115d565b610a498383611417565b905092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610aa2611336565b610aac600061148e565b565b610ab6611336565b610abe611554565b565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610af683610a51565b119050919050565b6000610b0861115d565b610b1283836115b7565b905092915050565b606060378054610b29906130f9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b55906130f9565b8015610ba25780601f10610b7757610100808354040283529160200191610ba2565b820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b5050505050905090565b6000610bb661115d565b610bc0838361162e565b905092915050565b6000610bd261115d565b610bdc83836116a5565b905092915050565b6000610bf1826001611057565b9050919050565b6000610c0261115d565b610c0d8484846116c8565b90509392505050565b6000610c2061115d565b610c2b848484611741565b90509392505050565b6000610c47610c4283610a51565b610913565b9050919050565b60008060019054906101000a900460ff16159050808015610c7f5750600160008054906101000a900460ff1660ff16105b80610cac5750610c8e306117ba565b158015610cab5750600160008054906101000a900460ff1660ff16145b5b610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce29061319c565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610d28576001600060016101000a81548160ff0219169083151502179055505b610d9c6040518060400160405280601781526020017f476f6c64656e206261636b656420555320446f6c6c61720000000000000000008152506040518060400160405280600481526020017f55534144000000000000000000000000000000000000000000000000000000008152506117dd565b610da58261183a565b610dad611895565b610db56118ee565b8160fb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610e4f5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610e469190613201565b60405180910390a15b5050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610e8a8260006111ca565b9050919050565b6000610ea6610e9f83610a51565b6000611057565b9050919050565b6000610eb882610a51565b9050919050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f4e611336565b60005b84849050811015610fb957610fa6858583818110610f7257610f7161321c565b5b9050602002016020810190610f879190612e4c565b848484818110610f9a57610f9961321c565b5b90506020020135611947565b8080610fb19061327a565b915050610f51565b5050505050565b6000610fcd8260006111ca565b9050919050565b610fdc611336565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361104b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104290613334565b60405180910390fd5b6110548161148e565b50565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110eb919061309d565b905060008103611130576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611127906133a0565b60405180910390fd5b6111546c0c9f2c9cd04674edea40000000828587611b16909392919063ffffffff16565b91505092915050565b611165610a1e565b156111a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119c9061340c565b60405180910390fd5b565b6000806111b2611b8c565b90506111bf818585611b94565b600191505092915050565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125e919061309d565b9050600081036112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129a906133a0565b60405180910390fd5b6112c7816c0c9f2c9cd04674edea400000008587611b16909392919063ffffffff16565b91505092915050565b6000806112db611b8c565b90506112e8858285611d5d565b6112f3858585611de9565b60019150509392505050565b60008061130a611b8c565b905061132b81858561131c8589610ebf565b611326919061342c565b611b94565b600191505092915050565b61133e611b8c565b73ffffffffffffffffffffffffffffffffffffffff1661135c610ac0565b73ffffffffffffffffffffffffffffffffffffffff16146113b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a9906134ac565b60405180910390fd5b565b6113bc612062565b6000609760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611400611b8c565b60405161140d9190612e31565b60405180910390a1565b6000611422826109e0565b831115611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b90613518565b60405180910390fd5b600061146f84610fc0565b905061148461147c611b8c565b8486846120ab565b8091505092915050565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61155c61115d565b6001609760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115a0611b8c565b6040516115ad9190612e31565b60405180910390a1565b60006115c282610e53565b831115611604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fb90613584565b60405180910390fd5b600061160f84610be4565b905061162461161c611b8c565b8483876120ab565b8091505092915050565b600080611639611b8c565b905060006116478286610ebf565b90508381101561168c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168390613616565b60405180910390fd5b6116998286868403611b94565b60019250505092915050565b6000806116b0611b8c565b90506116bd818585611de9565b600191505092915050565b60006116d382610e91565b841115611715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170c90613682565b60405180910390fd5b600061172085610943565b905061173661172d611b8c565b85858885612150565b809150509392505050565b600061174c82610ead565b84111561178e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611785906136ee565b60405180910390fd5b600061179985610a0a565b90506117af6117a6611b8c565b85858489612150565b809150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff1661182c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182390613780565b60405180910390fd5b611836828261224b565b5050565b600060019054906101000a900460ff16611889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188090613780565b60405180910390fd5b611892816122be565b50565b600060019054906101000a900460ff166118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db90613780565b60405180910390fd5b6118ec61238b565b565b600060019054906101000a900460ff1661193d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193490613780565b60405180910390fd5b6119456123f7565b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ad90613812565b60405180910390fd5b6119c282600083612458565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a40906138a4565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603560008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611afd9190612b94565b60405180910390a3611b118360008461245d565b505050565b600080611b24868686612462565b905060016002811115611b3a57611b396138c4565b5b836002811115611b4d57611b4c6138c4565b5b148015611b6b575060008480611b6657611b656138f3565b5b868809115b15611b8057600181611b7d919061342c565b90505b80915050949350505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfa90613994565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6990613a26565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d509190612b94565b60405180910390a3505050565b6000611d698484610ebf565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611de35781811015611dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc90613a92565b60405180910390fd5b611de28484848403611b94565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4f90613b24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebe90613bb6565b60405180910390fd5b611ed2838383612458565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5090613c48565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120499190612b94565b60405180910390a361205c84848461245d565b50505050565b61206a610a1e565b6120a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a090613cb4565b60405180910390fd5b565b6120d9606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16853085612573565b6120e383826125fc565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78484604051612142929190613cd4565b60405180910390a350505050565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461218f5761218e838683611d5d565b5b6121998382611947565b6121c6606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168584612753565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db858560405161223c929190613cd4565b60405180910390a45050505050565b600060019054906101000a900460ff1661229a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229190613780565b60405180910390fd5b81603690816122a99190613ece565b5080603790816122b99190613ece565b505050565b600060019054906101000a900460ff1661230d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230490613780565b60405180910390fd5b600080612319836127d9565b915091508161232957601261232b565b805b606560146101000a81548160ff021916908360ff16021790555082606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600060019054906101000a900460ff166123da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d190613780565b60405180910390fd5b6000609760006101000a81548160ff021916908315150217905550565b600060019054906101000a900460ff16612446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243d90613780565b60405180910390fd5b612456612451611b8c565b61148e565b565b505050565b505050565b600080600080198587098587029250828110838203039150506000810361249d57838281612493576124926138f3565b5b049250505061256c565b8084116124df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d690613fec565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b6125f6846323b872dd60e01b8585856040516024016125949392919061400c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612909565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361266b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126629061408f565b60405180910390fd5b61267760008383612458565b8060356000828254612689919061342c565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161273b9190612b94565b60405180910390a361274f6000838361245d565b5050565b6127d48363a9059cbb60e01b84846040516024016127729291906140af565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612909565b505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1663313ce56760e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161286e919061411f565b600060405180830381855afa9150503d80600081146128a9576040519150601f19603f3d011682016040523d82523d6000602084013e6128ae565b606091505b50915091508180156128c257506020815110155b156128fa576000818060200190518101906128dd919061309d565b905060ff801681116128f85760018194509450505050612904565b505b6000809350935050505b915091565b600061296b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166129d19092919063ffffffff16565b905060008151148061298d57508080602001905181019061298c9190614162565b5b6129cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c390614201565b60405180910390fd5b505050565b60606129e084846000856129e9565b90509392505050565b606082471015612a2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2590614293565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612a57919061411f565b60006040518083038185875af1925050503d8060008114612a94576040519150601f19603f3d011682016040523d82523d6000602084013e612a99565b606091505b5091509150612aaa87838387612ab6565b92505050949350505050565b60608315612b18576000835103612b1057612ad0856117ba565b612b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b06906142ff565b60405180910390fd5b5b829050612b23565b612b228383612b2b565b5b949350505050565b600082511115612b3e5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b729190612c3f565b60405180910390fd5b6000819050919050565b612b8e81612b7b565b82525050565b6000602082019050612ba96000830184612b85565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612be9578082015181840152602081019050612bce565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c1182612baf565b612c1b8185612bba565b9350612c2b818560208601612bcb565b612c3481612bf5565b840191505092915050565b60006020820190508181036000830152612c598184612c06565b905092915050565b600080fd5b600080fd5b612c7481612b7b565b8114612c7f57600080fd5b50565b600081359050612c9181612c6b565b92915050565b600060208284031215612cad57612cac612c61565b5b6000612cbb84828501612c82565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612cef82612cc4565b9050919050565b612cff81612ce4565b8114612d0a57600080fd5b50565b600081359050612d1c81612cf6565b92915050565b60008060408385031215612d3957612d38612c61565b5b6000612d4785828601612d0d565b9250506020612d5885828601612c82565b9150509250929050565b60008115159050919050565b612d7781612d62565b82525050565b6000602082019050612d926000830184612d6e565b92915050565b600080600060608486031215612db157612db0612c61565b5b6000612dbf86828701612d0d565b9350506020612dd086828701612d0d565b9250506040612de186828701612c82565b9150509250925092565b600060ff82169050919050565b612e0181612deb565b82525050565b6000602082019050612e1c6000830184612df8565b92915050565b612e2b81612ce4565b82525050565b6000602082019050612e466000830184612e22565b92915050565b600060208284031215612e6257612e61612c61565b5b6000612e7084828501612d0d565b91505092915050565b60008060408385031215612e9057612e8f612c61565b5b6000612e9e85828601612c82565b9250506020612eaf85828601612d0d565b9150509250929050565b600080600060608486031215612ed257612ed1612c61565b5b6000612ee086828701612c82565b9350506020612ef186828701612d0d565b9250506040612f0286828701612d0d565b9150509250925092565b60008060408385031215612f2357612f22612c61565b5b6000612f3185828601612d0d565b9250506020612f4285828601612d0d565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112612f7157612f70612f4c565b5b8235905067ffffffffffffffff811115612f8e57612f8d612f51565b5b602083019150836020820283011115612faa57612fa9612f56565b5b9250929050565b60008083601f840112612fc757612fc6612f4c565b5b8235905067ffffffffffffffff811115612fe457612fe3612f51565b5b60208301915083602082028301111561300057612fff612f56565b5b9250929050565b6000806000806040858703121561302157613020612c61565b5b600085013567ffffffffffffffff81111561303f5761303e612c66565b5b61304b87828801612f5b565b9450945050602085013567ffffffffffffffff81111561306e5761306d612c66565b5b61307a87828801612fb1565b925092505092959194509250565b60008151905061309781612c6b565b92915050565b6000602082840312156130b3576130b2612c61565b5b60006130c184828501613088565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061311157607f821691505b602082108103613124576131236130ca565b5b50919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000613186602e83612bba565b91506131918261312a565b604082019050919050565b600060208201905081810360008301526131b581613179565b9050919050565b6000819050919050565b6000819050919050565b60006131eb6131e66131e1846131bc565b6131c6565b612deb565b9050919050565b6131fb816131d0565b82525050565b600060208201905061321660008301846131f2565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061328582612b7b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132b7576132b661324b565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061331e602683612bba565b9150613329826132c2565b604082019050919050565b6000602082019050818103600083015261334d81613311565b9050919050565b7f496e76616c696420617373657420707269636500000000000000000000000000600082015250565b600061338a601383612bba565b915061339582613354565b602082019050919050565b600060208201905081810360008301526133b98161337d565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006133f6601083612bba565b9150613401826133c0565b602082019050919050565b60006020820190508181036000830152613425816133e9565b9050919050565b600061343782612b7b565b915061344283612b7b565b925082820190508082111561345a5761345961324b565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613496602083612bba565b91506134a182613460565b602082019050919050565b600060208201905081810360008301526134c581613489565b9050919050565b7f455243343632363a206465706f736974206d6f7265207468616e206d61780000600082015250565b6000613502601e83612bba565b915061350d826134cc565b602082019050919050565b60006020820190508181036000830152613531816134f5565b9050919050565b7f455243343632363a206d696e74206d6f7265207468616e206d61780000000000600082015250565b600061356e601b83612bba565b915061357982613538565b602082019050919050565b6000602082019050818103600083015261359d81613561565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613600602583612bba565b915061360b826135a4565b604082019050919050565b6000602082019050818103600083015261362f816135f3565b9050919050565b7f455243343632363a207769746864726177206d6f7265207468616e206d617800600082015250565b600061366c601f83612bba565b915061367782613636565b602082019050919050565b6000602082019050818103600083015261369b8161365f565b9050919050565b7f455243343632363a2072656465656d206d6f7265207468616e206d6178000000600082015250565b60006136d8601d83612bba565b91506136e3826136a2565b602082019050919050565b60006020820190508181036000830152613707816136cb565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b600061376a602b83612bba565b91506137758261370e565b604082019050919050565b600060208201905081810360008301526137998161375d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006137fc602183612bba565b9150613807826137a0565b604082019050919050565b6000602082019050818103600083015261382b816137ef565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061388e602283612bba565b915061389982613832565b604082019050919050565b600060208201905081810360008301526138bd81613881565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061397e602483612bba565b915061398982613922565b604082019050919050565b600060208201905081810360008301526139ad81613971565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a10602283612bba565b9150613a1b826139b4565b604082019050919050565b60006020820190508181036000830152613a3f81613a03565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613a7c601d83612bba565b9150613a8782613a46565b602082019050919050565b60006020820190508181036000830152613aab81613a6f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613b0e602583612bba565b9150613b1982613ab2565b604082019050919050565b60006020820190508181036000830152613b3d81613b01565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613ba0602383612bba565b9150613bab82613b44565b604082019050919050565b60006020820190508181036000830152613bcf81613b93565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613c32602683612bba565b9150613c3d82613bd6565b604082019050919050565b60006020820190508181036000830152613c6181613c25565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613c9e601483612bba565b9150613ca982613c68565b602082019050919050565b60006020820190508181036000830152613ccd81613c91565b9050919050565b6000604082019050613ce96000830185612b85565b613cf66020830184612b85565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613d8e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613d51565b613d988683613d51565b95508019841693508086168417925050509392505050565b6000613dcb613dc6613dc184612b7b565b6131c6565b612b7b565b9050919050565b6000819050919050565b613de583613db0565b613df9613df182613dd2565b848454613d5e565b825550505050565b600090565b613e0e613e01565b613e19818484613ddc565b505050565b5b81811015613e3d57613e32600082613e06565b600181019050613e1f565b5050565b601f821115613e8257613e5381613d2c565b613e5c84613d41565b81016020851015613e6b578190505b613e7f613e7785613d41565b830182613e1e565b50505b505050565b600082821c905092915050565b6000613ea560001984600802613e87565b1980831691505092915050565b6000613ebe8383613e94565b9150826002028217905092915050565b613ed782612baf565b67ffffffffffffffff811115613ef057613eef613cfd565b5b613efa82546130f9565b613f05828285613e41565b600060209050601f831160018114613f385760008415613f26578287015190505b613f308582613eb2565b865550613f98565b601f198416613f4686613d2c565b60005b82811015613f6e57848901518255600182019150602085019450602081019050613f49565b86831015613f8b5784890151613f87601f891682613e94565b8355505b6001600288020188555050505b505050505050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b6000613fd6601583612bba565b9150613fe182613fa0565b602082019050919050565b6000602082019050818103600083015261400581613fc9565b9050919050565b60006060820190506140216000830186612e22565b61402e6020830185612e22565b61403b6040830184612b85565b949350505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614079601f83612bba565b915061408482614043565b602082019050919050565b600060208201905081810360008301526140a88161406c565b9050919050565b60006040820190506140c46000830185612e22565b6140d16020830184612b85565b9392505050565b600081519050919050565b600081905092915050565b60006140f9826140d8565b61410381856140e3565b9350614113818560208601612bcb565b80840191505092915050565b600061412b82846140ee565b915081905092915050565b61413f81612d62565b811461414a57600080fd5b50565b60008151905061415c81614136565b92915050565b60006020828403121561417857614177612c61565b5b60006141868482850161414d565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006141eb602a83612bba565b91506141f68261418f565b604082019050919050565b6000602082019050818103600083015261421a816141de565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b600061427d602683612bba565b915061428882614221565b604082019050919050565b600060208201905081810360008301526142ac81614270565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006142e9601d83612bba565b91506142f4826142b3565b602082019050919050565b60006020820190508181036000830152614318816142dc565b905091905056fea26469706673582212207802dc7f6a690d8c7fba53b258e49f097cc3fec8735aafcfa4d657136846e3b064736f6c63430008140033