ETH Price: $2,193.92 (-2.80%)
 

Overview

Max Total Supply

0.130203699739690541 atvUS...

Holders

2 (0.00%)

Transfers

-
0

Market

Price

$98.02 @ 0.044678 ETH

Onchain Market Cap

$12.76

Circulating Supply Market Cap

$12.76

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
Source Code Verified Exact Match

Contract Name

AtvWrappedBoosterTL

Compiler Version
v0.8.30+commit.73712a01
Optimization Enabled
Yes with 200 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here

Contract Security Audit

Contract ABI
API
[{"inputs":[{"internalType":"contract ERC20","name":"_underlyingToken","type":"address"},{"internalType":"address","name":"_atvVault","type":"address"},{"internalType":"address","name":"_atvStorage","type":"address"},{"internalType":"address","name":"_atvOracle","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"E01","type":"error"},{"inputs":[],"name":"E02","type":"error"},{"inputs":[],"name":"E03","type":"error"},{"inputs":[],"name":"E04","type":"error"},{"inputs":[],"name":"E05","type":"error"},{"inputs":[],"name":"E06","type":"error"},{"inputs":[],"name":"E07","type":"error"},{"inputs":[],"name":"E08","type":"error"},{"inputs":[],"name":"E09","type":"error"},{"inputs":[],"name":"E10","type":"error"},{"inputs":[],"name":"E11","type":"error"},{"inputs":[],"name":"E12","type":"error"},{"inputs":[],"name":"E13","type":"error"},{"inputs":[],"name":"E14","type":"error"},{"inputs":[],"name":"E15","type":"error"},{"inputs":[],"name":"E16","type":"error"},{"inputs":[],"name":"E17","type":"error"},{"inputs":[],"name":"E18","type":"error"},{"inputs":[],"name":"E5","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ERC4626ExceededMaxDeposit","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ERC4626ExceededMaxMint","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ERC4626ExceededMaxRedeem","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ERC4626ExceededMaxWithdraw","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_oldVault","type":"address"},{"indexed":false,"internalType":"address","name":"_newVault","type":"address"},{"indexed":false,"internalType":"uint256","name":"exchangedBalance","type":"uint256"}],"name":"CalledExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"epochId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endNAV","type":"uint256"}],"name":"EpochFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"epochId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"startNAV","type":"uint256"}],"name":"EpochStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"epochId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"checkpointCount","type":"uint256"}],"name":"TWABUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"epochId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"checkpointCount","type":"uint256"}],"name":"ThresholdExceeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"VaultMigrated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"adjustExtraVaultTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"asset","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"epochId","type":"uint256"}],"name":"calculateEpochReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"calculateNAV","outputs":[{"internalType":"uint256","name":"assetNAV","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"callExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"convertToAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"convertToShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEpochId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"epochs","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"startNAV","type":"uint256"},{"internalType":"uint256","name":"endNAV","type":"uint256"},{"internalType":"bool","name":"finalized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"exchange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalizeEpoch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentEpoch","outputs":[{"components":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"startNAV","type":"uint256"},{"internalType":"uint256","name":"endNAV","type":"uint256"},{"internalType":"bool","name":"finalized","type":"bool"}],"internalType":"struct AtvWrappedBoosterTL.Epoch","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDelayModule","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"currentEpoch","type":"uint256"}],"name":"getLastEpochBeforeCurrent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"epochId","type":"uint256"}],"name":"getUserCheckpoints","outputs":[{"components":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"accBal","type":"uint256"}],"internalType":"struct AtvWrappedBoosterTL.TWABCheckpoint[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"latestEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_vault","type":"address"}],"name":"migrateVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pauseDeposit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"pauseUnpauseDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"platformFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"presentInEpoch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_delayModule","type":"address"}],"name":"setDelayModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVaultTokenRec","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"updateMaxCheckpoints","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_platformWallet","type":"address"},{"internalType":"uint256","name":"_withdrawalFee","type":"uint256"},{"internalType":"uint256","name":"_depositFee","type":"uint256"}],"name":"updatePlatformWalletAndFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_atvStorage","type":"address"},{"internalType":"address","name":"_atvOracle","type":"address"},{"internalType":"address","name":"_controller","type":"address"}],"name":"updateatvStorageAndOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userEpochIDs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userTWAB","outputs":[{"internalType":"uint256","name":"lastUpdateTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256[]","name":"minimumReturnAmount","type":"uint256[]"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"},{"internalType":"bytes[]","name":"pendleWithdrawData","type":"bytes[]"},{"internalType":"uint256","name":"slippageBasisPoints","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"withdrawStrayToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]
60a0604052620186a0600a55610e1060115534801561001c575f5ffd5b50604051613f63380380613f6383398101604081905261003b91610595565b836040518060400160405280600e81526020016d6161726e6120617476205553444360901b815250604051806040016040528060078152602001666174765553444360c81b81525081600390816100929190610689565b50600461009f8282610689565b5050505f5f6100b38361019060201b60201c565b91509150816100c35760126100c5565b805b600580546001600160a01b039095166001600160a01b031960ff93909316600160a01b02929092166001600160a81b0319909516949094171790925550610113905061010e3390565b610266565b600880546001600160a81b0319163360ff60a01b191617905561013584610282565b61013e81610282565b6001600160a01b03848116608052600f80546001600160a01b031990811685841617909155601080548216848416179055601580549091169185169190911790556101876102a9565b505050506107b8565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f918291829182916001600160a01b038716916101d691610743565b5f60405180830381855afa9150503d805f811461020e576040519150601f19603f3d011682016040523d82523d5f602084013e610213565b606091505b509150915081801561022757506020815110155b1561025a575f818060200190518101906102419190610759565b905060ff8111610258576001969095509350505050565b505b505f9485945092505050565b600780546001600160a01b031916905561027f81610401565b50565b6001600160a01b03811661027f57604051630f968f2560e31b815260040160405180910390fd5b5f6102b2610452565b6040805160a081018252428082525f60208084018281528486018781526060860184815260808701858152601480546001810182559681905297517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec60059097029687015592517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ed86015590517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ee850155517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ef840155517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4f0909201805460ff1916921515929092179091559154600b8190558351918252918101849052929350917f29db3deb62ef2036e5eb93aad68d2362aec0711af592cb365566603bd88651d4910160405180910390a250565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b601554604080516318160ddd60e01b815290515f926001600160a01b031691839183916318160ddd9160048083019260209291908290030181865afa15801561049d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c19190610759565b90506104cc81610562565b600f54604051634aaad50560e11b81526001600160a01b03848116600483015283926b033b2e3c9fd0803ce800000092911690639555aa0a90602401602060405180830381865afa158015610523573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105479190610759565b6105519190610770565b61055b9190610799565b9250505090565b805f0361027f57604051622a0bd760e81b815260040160405180910390fd5b6001600160a01b038116811461027f575f5ffd5b5f5f5f5f608085870312156105a8575f5ffd5b84516105b381610581565b60208601519094506105c481610581565b60408601519093506105d581610581565b60608601519092506105e681610581565b939692955090935050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061061957607f821691505b60208210810361063757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561068457805f5260205f20601f840160051c810160208510156106625750805b601f840160051c820191505b81811015610681575f815560010161066e565b50505b505050565b81516001600160401b038111156106a2576106a26105f1565b6106b6816106b08454610605565b8461063d565b6020601f8211600181146106e8575f83156106d15750848201515b5f19600385901b1c1916600184901b178455610681565b5f84815260208120601f198516915b8281101561071757878501518255602094850194600190920191016106f7565b508482101561073457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f82518060208501845e5f920191825250919050565b5f60208284031215610769575f5ffd5b5051919050565b808202811582820484141761079357634e487b7160e01b5f52601160045260245ffd5b92915050565b5f826107b357634e487b7160e01b5f52601260045260245ffd5b500490565b6080516137626108015f395f8181610fb00152818161107901528181611b690152818161278d015281816127d901528181612855015281816128da015261290e01526137625ff3fe608060405234801561000f575f5ffd5b5060043610610388575f3560e01c8063847b2345116101df578063c6b61e4c11610109578063dce4d1ba116100a9578063eacdc5ff11610079578063eacdc5ff14610824578063ef8b30f71461082d578063f2fde38b14610840578063f559171414610853575f5ffd5b8063dce4d1ba146107b5578063dd62ed3e146107c8578063de5ccee814610800578063e30c397814610813575f5ffd5b8063d7f58703116100e4578063d7f587031461075b578063d889959c1461076c578063d905777e14610775578063db20300c14610788575f5ffd5b8063c6b61e4c146106f8578063c6e6f59214610735578063ce96cb7714610748575f5ffd5b8063a7f522231161017f578063b97dd9e21161014f578063b97dd9e21461068c578063ba087652146106d7578063c4aa09d3146106e5578063c63d75b6146104c6575f5ffd5b8063a7f5222314610640578063a9059cbb14610653578063afb40cba14610666578063b3d7f6b914610679575f5ffd5b806394bf804d116101ba57806394bf804d146105e557806395d89b41146105f85780639d717905146106005780639f20a4b514610613575f5ffd5b8063847b2345146105b957806386a0da73146105c15780638da5cb5b146105d4575f5ffd5b806338d52e0f116102c057806366dfa7c711610260578063715018a611610230578063715018a61461059957806379ba5097146105a157806382ae9ef7146105a95780638456cb59146105b1575f5ffd5b806366dfa7c71461053e57806369026e88146105515780636e553f651461055e57806370a0823114610571575f5ffd5b8063444184731161029b57806344418473146104da5780634cdad506146104fa578063537390ef1461050d5780635c975abb1461052c575f5ffd5b806338d52e0f146104995780633f4ba83a146104be578063402d267d146104c6575f5ffd5b806318160ddd1161032b5780632712b539116103065780632712b539146104445780632ba6144614610459578063313ce5671461046c57806333b3979214610486575f5ffd5b806318160ddd1461042057806323b872dd1461042857806326232a2e1461043b575f5ffd5b8063095ea7b311610366578063095ea7b3146103cf5780630a28a477146103f25780630fe2abcf1461040557806311ebc61914610418575f5ffd5b806301e1d1141461038c57806306fdde03146103a757806307a2d13a146103bc575b5f5ffd5b610394610866565b6040519081526020015b60405180910390f35b6103af61088c565b60405161039e9190612f61565b6103946103ca366004612f73565b61091c565b6103e26103dd366004612f9e565b61092d565b604051901515815260200161039e565b610394610400366004612f73565b610944565b610394610413366004612fc8565b610976565b610394610a3b565b600254610394565b6103e2610436366004612ff6565b610b4b565b61039460095481565b610457610452366004613034565b610b7a565b005b61045761046736600461304f565b610c85565b610474610cca565b60405160ff909116815260200161039e565b610457610494366004613034565b610cd6565b6005546001600160a01b03165b6040516001600160a01b03909116815260200161039e565b610457610d47565b6103946104d4366004613034565b505f1990565b6104ed6104e8366004612f9e565b610d59565b60405161039e9190613081565b610394610508366004612f73565b610df1565b61039461051b366004613034565b60136020525f908152604090205481565b600854600160a01b900460ff166103e2565b61039461054c366004612f9e565b610e25565b6012546103e29060ff1681565b61039461056c366004612fc8565b610f6c565b61039461057f366004613034565b6001600160a01b03165f9081526020819052604090205490565b6104576110f1565b610457611102565b610457611157565b610457611219565b610457611229565b6104576105cf3660046130ec565b6113dd565b6006546001600160a01b03166104a6565b6103946105f3366004612fc8565b6113f8565b6103af611412565b61039461060e36600461325c565b611421565b6103e2610621366004612f9e565b601860209081525f928352604080842090915290825290205460ff1681565b61039461064e366004612f9e565b611551565b6103e2610661366004612f9e565b61166c565b610394610674366004612f9e565b611683565b610394610687366004612f73565b6116ae565b6106946116e1565b60405161039e91905f60a0820190508251825260208301516020830152604083015160408301526060830151606083015260808301511515608083015292915050565b6103946105f3366004613363565b6104576106f3366004613034565b61175b565b61070b610706366004612f73565b6117c1565b6040805195865260208601949094529284019190915260608301521515608082015260a00161039e565b610394610743366004612f73565b611803565b610394610756366004613034565b61180d565b6008546001600160a01b03166104a6565b61039460165481565b610394610783366004613034565b61182e565b610394610796366004612f9e565b601960209081525f928352604080842090915290825290206001015481565b6104576107c33660046133a2565b61184b565b6103946107d63660046133cf565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61045761080e366004612f73565b611892565b6007546001600160a01b03166104a6565b610394600b5481565b61039461083b366004612f73565b6118ae565b61045761084e366004613034565b6118b9565b610457610861366004613034565b61192a565b6015545f9061088790610881906001600160a01b031661197c565b5f6119e4565b905090565b60606003805461089b906133fb565b80601f01602080910402602001604051908101604052809291908181526020018280546108c7906133fb565b80156109125780601f106108e957610100808354040283529160200191610912565b820191905f5260205f20905b8154815290600101906020018083116108f557829003601f168201915b5050505050905090565b5f610927825f6119e4565b92915050565b5f3361093a818585611a18565b5060019392505050565b5f6009546127106109559190613447565b6109618361271061345a565b61096b9190613471565b915061092782611a25565b5f61097f611a73565b61098883611a9e565b60125460ff16156109ac576040516380c4f80160e01b815260040160405180910390fd5b6015546001600160a01b03165f6109c28261197c565b90506109d082333088611abd565b5f6109db8383611b2e565b90505f5f6109e7611b4f565b9092509050816109f882600a613573565b610a02908561345a565b610a0c9190613471565b92505f610a2184610a1b610a3b565b5f611be5565b9050610a2e84828a611c5a565b5091979650505050505050565b601554604080516318160ddd60e01b815290515f926001600160a01b031691839183916318160ddd9160048083019260209291908290030181865afa158015610a86573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aaa919061357e565b9050610ab581611a9e565b600f54604051634aaad50560e11b81526001600160a01b03848116600483015283926b033b2e3c9fd0803ce800000092911690639555aa0a90602401602060405180830381865afa158015610b0c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b30919061357e565b610b3a919061345a565b610b449190613471565b9250505090565b5f33610b58858285611ce9565b610b63858585611d5f565b610b6d8585611dbc565b60019150505b9392505050565b610b82611e12565b610b8a611e6c565b60155460408051639705f8f960e01b815290516001600160a01b0392831692839290851691639705f8f9916004808201926020929091908290030181865afa158015610bd8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfc9190613595565b6001600160a01b031614610c22576040516220adef60e41b815260040160405180910390fd5b601580546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915282917faa10add0ff0f23b874d2d1fa353ab28a639aa51906dec303238cdb1f1e54ea4291015b60405180910390a1505050565b610c8d611e12565b600c80546001600160a01b0319166001600160a01b038516179055610cb38260c8611e96565b610cbe8160c8611e96565b600991909155600d5550565b5f6108878160126135b0565b610cde611e12565b6015545f90610cf5906001600160a01b031661197c565b90506016548111610d19576040516301899ea960e01b815260040160405180910390fd5b5f60165482610d289190613447565b601554909150610d42906001600160a01b03168483611eb7565b505050565b610d4f611e12565b610d57611ecb565b565b6001600160a01b0382165f9081526019602090815260408083208484528252808320805482518185028101850190935280835260609492939192909184015b82821015610de5578382905f5260205f2090600302016040518060600160405290815f82015481526020016001820154815260200160028201548152505081526020019060010190610d98565b50505050905092915050565b5f612710600954612710610e059190613447565b610e0f908461345a565b610e199190613471565b9150610927825f6119e4565b5f811580610e34575060145482115b15610e52576040516306130d9960e01b815260040160405180910390fd5b5f6014610e60600185613447565b81548110610e7057610e706135c9565b5f9182526020918290206040805160a0810182526005909302909101805483526001810154938301939093526002830154908201526003820154606082015260049091015460ff16151560808201819052909150610ee157604051635b85f48960e11b815260040160405180910390fd5b8060400151816060015111610ef9575f915050610927565b5f610f048585611f20565b9050805f03610f2a57610f1785856120f0565b9050805f03610f2a575f92505050610927565b5f82604001518360600151610f3f9190613447565b90506b033b2e3c9fd0803ce8000000610f58828461345a565b610f629190613471565b9695505050505050565b5f610f75611a73565b610f7e83611a9e565b60125460ff1615610fa2576040516380c4f80160e01b815260040160405180910390fd5b6015546001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000005f610fd98361197c565b9050610fe782333089611abd565b60405163095ea7b360e01b81526001600160a01b0384811660048301526024820188905283169063095ea7b3906044016020604051808303815f875af1158015611033573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105791906135dd565b50601554604051636e553f6560e01b8152600481018890526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116602483015290911690636e553f65906044015f604051808303815f87803b1580156110c3575f5ffd5b505af11580156110d5573d5f5f3e3d5ffd5b505050505f6110e48483611b2e565b9050610f62818888611c5a565b6110f9611e12565b610d575f61215d565b60075433906001600160a01b0316811461114b5760405162461bcd60e51b8152602060048201526005602482015264415456303160d81b60448201526064015b60405180910390fd5b6111548161215d565b50565b600e5461116e9033906001600160a01b0316612176565b5f6111776121a8565b600481015490915060ff16156111a0576040516340079e1f60e11b815260040160405180910390fd5b4260018201556111ae610a3b565b6003820181905560048201805460ff19166001908117909155600b549083015460405191927fb463d19ecf455be65365092cf8e1db6934a0334cf8cd532ddf9964d01f36b5b292611209929190918252602082015260400190565b60405180910390a261115461220b565b611221611e12565b610d57612363565b611231611e12565b611239611e6c565b60155460408051639705f8f960e01b815290515f926001600160a01b031691639705f8f99160048083019260209291908290030181865afa158015611280573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a49190613595565b6015549091506001600160a01b03165f6112bd8361197c565b60405163095ea7b360e01b81526001600160a01b038481166004830152602482018390529192509084169063095ea7b3906044016020604051808303815f875af115801561130d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133191906135dd565b5060155f9054906101000a90046001600160a01b03166001600160a01b031663a25eb5d96040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561137e575f5ffd5b505af1158015611390573d5f5f3e3d5ffd5b5050604080516001600160a01b038088168252861660208201529081018490527f8f89a6ff2401b99707423810461bb39d138c8e4150f4ddaf934eb3e4895c5bdb92506060019050610c78565b6113e5611e12565b6012805460ff1916911515919091179055565b5f6040516302b0eba760e21b815260040160405180910390fd5b60606004805461089b906133fb565b5f61142a611a73565b61143389611a9e565b336001600160a01b0388161461144e5761144e87338b611ce9565b5f6114588a61091c565b90505f6114648961180d565b9050808211156114a057604051633fa733bb60e21b81526001600160a01b038a1660048201526024810183905260448101829052606401611142565b6114aa898c6123a6565b8a60165f8282546114bb9190613447565b909155505060408051838152602081018d90526001600160a01b038b811692908d169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a46115328961152d8b6001600160a01b03165f9081526020819052604090205490565b6123da565b6115428b838c88888b8e8e612786565b9b9a5050505050505050505050565b6001600160a01b0382165f908152601760209081526040808320805482518185028101850190935280835284938301828280156115ab57602002820191905f5260205f20905b815481526020019060010190808311611597575b505050505090505f81519050805f036115c8575f92505050610927565b5f815b80821015611629575f60026115e083856135f8565b6115ea9190613471565b9050868582815181106115ff576115ff6135c9565b6020026020010151101561161f576116188160016135f8565b9250611623565b8091505b506115cb565b815f0361163c575f945050505050610927565b83611648600184613447565b81518110611658576116586135c9565b602002602001015194505050505092915050565b5f33611679818585611d5f565b61093a3385611dbc565b6017602052815f5260405f20818154811061169c575f80fd5b905f5260205f20015f91509150505481565b5f600d546127106116bf9190613447565b6127106116cd8460016119e4565b6116d7919061345a565b6109279190613471565b6117106040518060a001604052805f81526020015f81526020015f81526020015f81526020015f151581525090565b6117186121a8565b6040805160a08101825282548152600183015460208201526002830154918101919091526003820154606082015260049091015460ff1615156080820152919050565b611763612943565b6001600160a01b03811661179f5760405162461bcd60e51b815260206004820152600360248201526227a22d60e91b6044820152606401611142565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b601481815481106117d0575f80fd5b5f918252602090912060059091020180546001820154600283015460038401546004909401549294509092909160ff1685565b5f61092782611a25565b6001600160a01b0381165f9081526020819052604081205461092790610881565b6001600160a01b0381165f90815260208190526040812054610927565b611853611e12565b600f80546001600160a01b039485166001600160a01b0319918216179091556010805493851693821693909317909255600e8054919093169116179055565b61189a611e12565b6118a981600a620186a0612982565b600a55565b5f610927825f6129ad565b6118c1612943565b600780546001600160a01b0383166001600160a01b031990911681179091556118f26006546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b611932611e12565b6015546001600160a01b03908116908216036119615760405163e217c62b60e01b815260040160405180910390fd5b5f61196b8261197c565b9050611978823383611eb7565b5050565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156119c0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610927919061357e565b5f5f5f6119ef611b4f565b915091505f611a0086610a1b610a3b565b905082611a0e83600a613573565b610f58908361345a565b610d428383836001612a11565b5f5f5f611a30611b4f565b90925090505f611a4182600a613573565b611a4b848761345a565b611a559190613471565b9050611a6a81611a63610a3b565b6001611be5565b95945050505050565b600854600160a01b900460ff1615610d575760405163d93c066560e01b815260040160405180910390fd5b805f0361115457604051622a0bd760e81b815260040160405180910390fd5b6040516001600160a01b0380851660248301528316604482015260648101829052611b289085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612ae3565b50505050565b5f5f82611b3a8561197c565b611b449190613447565b9050610b7381611a9e565b601054604051630226614760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f9283929116906302266147906024016040805180830381865afa158015611bb9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bdd919061360b565b915091509091565b5f8115611c235782611c036b033b2e3c9fd0803ce80000008661345a565b611c129064e8d4a5100061345a565b611c1c9190613471565b9050610b73565b611c3e6b033b2e3c9fd0803ce800000064e8d4a5100061345a565b611c48848661345a565b611c529190613471565b949350505050565b8260165f828254611c6b91906135f8565b90915550611c7b90508184612b32565b611c9d8161152d836001600160a01b03165f9081526020819052604090205490565b60408051838152602081018590526001600160a01b0383169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d791015b60405180910390a3505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015611b285781811015611d5157604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401611142565b611b2884848484035f612a11565b6001600160a01b038316611d8857604051634b637e8f60e11b81525f6004820152602401611142565b6001600160a01b038216611db15760405163ec442f0560e01b81525f6004820152602401611142565b610d42838383612b62565b611dc4611a73565b611dce8282612c7b565b611df08261152d846001600160a01b03165f9081526020819052604090205490565b6119788161152d836001600160a01b03165f9081526020819052604090205490565b6006546001600160a01b03163314610d575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611142565b600854600160a01b900460ff16610d5757604051638dfc202b60e01b815260040160405180910390fd5b808211156119785760405163304ec58360e11b815260040160405180910390fd5b610d426001600160a01b0384168383612cad565b611ed3611e6c565b6008805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382165f9081526019602090815260408083208484528252808320815181546060948102820185018452928101838152859491938492849190879085015b82821015611fb2578382905f5260205f2090600302016040518060600160405290815f82015481526020016001820154815260200160028201548152505081526020019060010190611f65565b5050505081526020016001820154815250509050805f0151515f03611fda575f915050610927565b5f6014611fe8600186613447565b81548110611ff857611ff86135c9565b5f91825260208083206040805160a08101825260059094029091018054845260018082015493850193909352600281015491840191909152600381015460608401526004015460ff1615156080830152845180519294509161205a9190613447565b8151811061206a5761206a6135c9565b602002602001015190505f816040015190505f825f015184602001516120909190613447565b90508083602001516120a2919061345a565b6120ac90836135f8565b91505f845f015185602001516120c29190613447565b9050805f036120d9575f9650505050505050610927565b6120e38184613471565b9998505050505050505050565b5f5f6120fc8484611551565b9050805f0361210e575f915050610927565b6001600160a01b0384165f908152601960209081526040808320848452909152812080549091819003612146575f9350505050610927565b61214f82612cdd565b600101549695505050505050565b600780546001600160a01b031916905561115481612d12565b806001600160a01b0316826001600160a01b03161461197857604051634983312960e11b815260040160405180910390fd5b6014545f906121b89060016135f8565b600b54106121d957604051633c96bfd560e11b815260040160405180910390fd5b60146001600b546121ea9190613447565b815481106121fa576121fa6135c9565b905f5260205f209060050201905090565b5f612214610a3b565b6040805160a081018252428082525f60208084018281528486018781526060860184815260808701858152601480546001810182559681905297517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec60059097029687015592517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ed86015590517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ee850155517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ef840155517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4f0909201805460ff1916921515929092179091559154600b8190558351918252918101849052929350917f29db3deb62ef2036e5eb93aad68d2362aec0711af592cb365566603bd88651d4910160405180910390a250565b61236b611a73565b6008805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f033390565b6001600160a01b0382166123cf57604051634b637e8f60e11b81525f6004820152602401611142565b611978825f83612b62565b6001600160a01b0382165f908152601960209081526040808320600b5484529091528120805490914291156124ab575f61241384612cdd565b80549091506124229084613447565b9150811561249d57835f016040518060600160405280858152602001878152602001848460010154612454919061345a565b846002015461246391906135f8565b90528154600181810184555f93845260209384902083516003909302019182559282015192810192909255604001516002909101556124a5565b600181018590555b50612651565b6001600160a01b0385165f908152601360205260409020541561260b576001600160a01b0385165f9081526019602090815260408083206013835281842054845290915281208054909190829061250490600190613447565b81548110612514576125146135c9565b905f5260205f20906003020190505f60146001600b546125349190613447565b81548110612544576125446135c9565b5f9182526020918290206040805160a08101825260059093029091018054808452600182015494840194909452600281015491830191909152600381015460608301526004015460ff161515608082015291506125a19086613447565b9350855f0160405180606001604052808781526020018981526020018685600101546125cd919061345a565b90528154600181810184555f938452602093849020835160039093020191825592820151928101929092556040015160029091015550612651915050565b6040805160608101825283815260208082018781525f938301848152875460018181018a5589875293909520935160039095029093019384555190830155516002909101555b60018301829055600b546001600160a01b0386165f90815260136020908152604080832084905560188252808320938352929052205460ff166126df576001600160a01b0385165f818152601860209081526040808320600b80548552908352818420805460ff19166001908117909155948452601783529083209054815494850182559083529120909101555b600a5483541061272d57600b5483546040519081526001600160a01b038716907f81fa37560513d551c71bcabf4a2700eb792debb57f4e9879a5dd882040f3431a9060200160405180910390a35b600b5483546040805187815260208101869052908101919091526001600160a01b038716907f64bf20d81818c8d606b5801b3537bbcb1dc4a052a21965e300a7bcbcb37a16e59060600160405180910390a35050505050565b5f5f6127b17f000000000000000000000000000000000000000000000000000000000000000061197c565b905060155f9054906101000a90046001600160a01b03166001600160a01b0316635aace8538b7f0000000000000000000000000000000000000000000000000000000000000000878760028b8e8e6040518963ffffffff1660e01b8152600401612822989796959493929190613687565b5f604051808303815f87803b158015612839575f5ffd5b505af115801561284b573d5f5f3e3d5ffd5b505050505f61287a7f000000000000000000000000000000000000000000000000000000000000000083611b2e565b905061288886821015612d63565b5f6127106009548361289a919061345a565b6128a49190613471565b90505f811180156128bf5750600c546001600160a01b031615155b15612909576128ce8183613447565b600c54909250612909907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b031683611eb7565b6129347f00000000000000000000000000000000000000000000000000000000000000008b84611eb7565b509a9950505050505050505050565b6008546001600160a01b03163314610d575760405162461bcd60e51b81526020600482015260026024820152614e4160f01b6044820152606401611142565b8183108061298f57508083115b15610d4257604051630a8fcb4f60e21b815260040160405180910390fd5b5f5f5f6129b8611b4f565b91509150612710600d54866129cd919061345a565b6129d79190613471565b6129e19086613447565b94505f6129ef82600a613573565b6129f9848861345a565b612a039190613471565b9050610f6281611a63610a3b565b6001600160a01b038416612a3a5760405163e602df0560e01b81525f6004820152602401611142565b6001600160a01b038316612a6357604051634a1406b160e11b81525f6004820152602401611142565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015611b2857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051612ad591815260200190565b60405180910390a350505050565b5f612af76001600160a01b03841683612d81565b805190915015610d425780806020019051810190612b1591906135dd565b610d42576040516388d0662b60e01b815260040160405180910390fd5b6001600160a01b038216612b5b5760405163ec442f0560e01b81525f6004820152602401611142565b6119785f83835b6001600160a01b038316612b8c578060025f828254612b8191906135f8565b90915550612bfc9050565b6001600160a01b0383165f9081526020819052604090205481811015612bde5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401611142565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216612c1857600280548290039055612c36565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cdc91815260200190565b806001600160a01b0316826001600160a01b031603611978576040516378f927ad60e11b815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610d4290849063a9059cbb60e01b90606401611af1565b80545f908290612cef90600190613447565b81548110612cff57612cff6135c9565b905f5260205f2090600302019050919050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b806111545760405163066d598f60e41b815260040160405180910390fd5b6060610b7383835f6040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250606082471015612e205760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401611142565b5f5f866001600160a01b03168587604051612e3b9190613716565b5f6040518083038185875af1925050503d805f8114612e75576040519150601f19603f3d011682016040523d82523d5f602084013e612e7a565b606091505b5091509150612e8b87838387612e96565b979650505050505050565b60608315612f045782515f03612efd576001600160a01b0385163b612efd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611142565b5081611c52565b611c528383815115612f195781518083602001fd5b8060405162461bcd60e51b81526004016111429190612f61565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610b736020830184612f33565b5f60208284031215612f83575f5ffd5b5035919050565b6001600160a01b0381168114611154575f5ffd5b5f5f60408385031215612faf575f5ffd5b8235612fba81612f8a565b946020939093013593505050565b5f5f60408385031215612fd9575f5ffd5b823591506020830135612feb81612f8a565b809150509250929050565b5f5f5f60608486031215613008575f5ffd5b833561301381612f8a565b9250602084013561302381612f8a565b929592945050506040919091013590565b5f60208284031215613044575f5ffd5b8135610b7381612f8a565b5f5f5f60608486031215613061575f5ffd5b833561306c81612f8a565b95602085013595506040909401359392505050565b602080825282518282018190525f918401906040840190835b818110156130d45783518051845260208101516020850152604081015160408501525060608301925060208401935060018101905061309a565b509095945050505050565b8015158114611154575f5ffd5b5f602082840312156130fc575f5ffd5b8135610b73816130df565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561314457613144613107565b604052919050565b5f67ffffffffffffffff82111561316557613165613107565b5060051b60200190565b5f82601f83011261317e575f5ffd5b813561319161318c8261314c565b61311b565b8082825260208201915060208360051b8601019250858311156131b2575f5ffd5b602085015b8381101561325257803567ffffffffffffffff8111156131d5575f5ffd5b8601603f810188136131e5575f5ffd5b602081013567ffffffffffffffff81111561320257613202613107565b613215601f8201601f191660200161311b565b8181526040838301018a1015613229575f5ffd5b816040840160208301375f602083830101528086525050506020830192506020810190506131b7565b5095945050505050565b5f5f5f5f5f5f5f5f610100898b031215613274575f5ffd5b88359750602089013561328681612f8a565b9650604089013561329681612f8a565b955060608901359450608089013567ffffffffffffffff8111156132b8575f5ffd5b8901601f81018b136132c8575f5ffd5b80356132d661318c8261314c565b8082825260208201915060208360051b85010192508d8311156132f7575f5ffd5b6020840193505b828410156133195783358252602093840193909101906132fe565b965050505060a0890135925060c089013567ffffffffffffffff81111561333e575f5ffd5b61334a8b828c0161316f565b989b979a50959894979396929550929360e00135925050565b5f5f5f60608486031215613375575f5ffd5b83359250602084013561338781612f8a565b9150604084013561339781612f8a565b809150509250925092565b5f5f5f606084860312156133b4575f5ffd5b83356133bf81612f8a565b9250602084013561338781612f8a565b5f5f604083850312156133e0575f5ffd5b82356133eb81612f8a565b91506020830135612feb81612f8a565b600181811c9082168061340f57607f821691505b60208210810361342d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561092757610927613433565b808202811582820484141761092757610927613433565b5f8261348b57634e487b7160e01b5f52601260045260245ffd5b500490565b6001815b60018411156134cb578085048111156134af576134af613433565b60018416156134bd57908102905b60019390931c928002613494565b935093915050565b5f826134e157506001610927565b816134ed57505f610927565b8160018114613503576002811461350d57613529565b6001915050610927565b60ff84111561351e5761351e613433565b50506001821b610927565b5060208310610133831016604e8410600b841016171561354c575081810a610927565b6135585f198484613490565b805f190482111561356b5761356b613433565b029392505050565b5f610b7383836134d3565b5f6020828403121561358e575f5ffd5b5051919050565b5f602082840312156135a5575f5ffd5b8151610b7381612f8a565b60ff818116838216019081111561092757610927613433565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156135ed575f5ffd5b8151610b73816130df565b8082018082111561092757610927613433565b5f5f6040838503121561361c575f5ffd5b505080516020909101519092909150565b5f82825180855260208501945060208160051b830101602085015f5b8381101561367b57601f19858403018852613665838351612f33565b6020988901989093509190910190600101613649565b50909695505050505050565b5f61010082018a835260018060a01b038a16602084015288604084015261010060608401528088518083526101208501915060208a0192505f5b818110156136df5783518352602093840193909201916001016136c1565b50508760808501528660a085015283810360c08501526136ff818761362d565b925050508260e08301529998505050505050505050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220af2e77e4e9e2b86dc4323152d92cd3133935326d16c93364235aeb01a79a7a6264736f6c634300081e0033000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000b56aa0cbee33c4b6b281027ebaa7697aad42a8530000000000000000000000006469d15333e7d6a8bdad18a18c251706570bc318000000000000000000000000ef3cebf4f1539d02ec58fc5525ac791e015f6602
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610388575f3560e01c8063847b2345116101df578063c6b61e4c11610109578063dce4d1ba116100a9578063eacdc5ff11610079578063eacdc5ff14610824578063ef8b30f71461082d578063f2fde38b14610840578063f559171414610853575f5ffd5b8063dce4d1ba146107b5578063dd62ed3e146107c8578063de5ccee814610800578063e30c397814610813575f5ffd5b8063d7f58703116100e4578063d7f587031461075b578063d889959c1461076c578063d905777e14610775578063db20300c14610788575f5ffd5b8063c6b61e4c146106f8578063c6e6f59214610735578063ce96cb7714610748575f5ffd5b8063a7f522231161017f578063b97dd9e21161014f578063b97dd9e21461068c578063ba087652146106d7578063c4aa09d3146106e5578063c63d75b6146104c6575f5ffd5b8063a7f5222314610640578063a9059cbb14610653578063afb40cba14610666578063b3d7f6b914610679575f5ffd5b806394bf804d116101ba57806394bf804d146105e557806395d89b41146105f85780639d717905146106005780639f20a4b514610613575f5ffd5b8063847b2345146105b957806386a0da73146105c15780638da5cb5b146105d4575f5ffd5b806338d52e0f116102c057806366dfa7c711610260578063715018a611610230578063715018a61461059957806379ba5097146105a157806382ae9ef7146105a95780638456cb59146105b1575f5ffd5b806366dfa7c71461053e57806369026e88146105515780636e553f651461055e57806370a0823114610571575f5ffd5b8063444184731161029b57806344418473146104da5780634cdad506146104fa578063537390ef1461050d5780635c975abb1461052c575f5ffd5b806338d52e0f146104995780633f4ba83a146104be578063402d267d146104c6575f5ffd5b806318160ddd1161032b5780632712b539116103065780632712b539146104445780632ba6144614610459578063313ce5671461046c57806333b3979214610486575f5ffd5b806318160ddd1461042057806323b872dd1461042857806326232a2e1461043b575f5ffd5b8063095ea7b311610366578063095ea7b3146103cf5780630a28a477146103f25780630fe2abcf1461040557806311ebc61914610418575f5ffd5b806301e1d1141461038c57806306fdde03146103a757806307a2d13a146103bc575b5f5ffd5b610394610866565b6040519081526020015b60405180910390f35b6103af61088c565b60405161039e9190612f61565b6103946103ca366004612f73565b61091c565b6103e26103dd366004612f9e565b61092d565b604051901515815260200161039e565b610394610400366004612f73565b610944565b610394610413366004612fc8565b610976565b610394610a3b565b600254610394565b6103e2610436366004612ff6565b610b4b565b61039460095481565b610457610452366004613034565b610b7a565b005b61045761046736600461304f565b610c85565b610474610cca565b60405160ff909116815260200161039e565b610457610494366004613034565b610cd6565b6005546001600160a01b03165b6040516001600160a01b03909116815260200161039e565b610457610d47565b6103946104d4366004613034565b505f1990565b6104ed6104e8366004612f9e565b610d59565b60405161039e9190613081565b610394610508366004612f73565b610df1565b61039461051b366004613034565b60136020525f908152604090205481565b600854600160a01b900460ff166103e2565b61039461054c366004612f9e565b610e25565b6012546103e29060ff1681565b61039461056c366004612fc8565b610f6c565b61039461057f366004613034565b6001600160a01b03165f9081526020819052604090205490565b6104576110f1565b610457611102565b610457611157565b610457611219565b610457611229565b6104576105cf3660046130ec565b6113dd565b6006546001600160a01b03166104a6565b6103946105f3366004612fc8565b6113f8565b6103af611412565b61039461060e36600461325c565b611421565b6103e2610621366004612f9e565b601860209081525f928352604080842090915290825290205460ff1681565b61039461064e366004612f9e565b611551565b6103e2610661366004612f9e565b61166c565b610394610674366004612f9e565b611683565b610394610687366004612f73565b6116ae565b6106946116e1565b60405161039e91905f60a0820190508251825260208301516020830152604083015160408301526060830151606083015260808301511515608083015292915050565b6103946105f3366004613363565b6104576106f3366004613034565b61175b565b61070b610706366004612f73565b6117c1565b6040805195865260208601949094529284019190915260608301521515608082015260a00161039e565b610394610743366004612f73565b611803565b610394610756366004613034565b61180d565b6008546001600160a01b03166104a6565b61039460165481565b610394610783366004613034565b61182e565b610394610796366004612f9e565b601960209081525f928352604080842090915290825290206001015481565b6104576107c33660046133a2565b61184b565b6103946107d63660046133cf565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61045761080e366004612f73565b611892565b6007546001600160a01b03166104a6565b610394600b5481565b61039461083b366004612f73565b6118ae565b61045761084e366004613034565b6118b9565b610457610861366004613034565b61192a565b6015545f9061088790610881906001600160a01b031661197c565b5f6119e4565b905090565b60606003805461089b906133fb565b80601f01602080910402602001604051908101604052809291908181526020018280546108c7906133fb565b80156109125780601f106108e957610100808354040283529160200191610912565b820191905f5260205f20905b8154815290600101906020018083116108f557829003601f168201915b5050505050905090565b5f610927825f6119e4565b92915050565b5f3361093a818585611a18565b5060019392505050565b5f6009546127106109559190613447565b6109618361271061345a565b61096b9190613471565b915061092782611a25565b5f61097f611a73565b61098883611a9e565b60125460ff16156109ac576040516380c4f80160e01b815260040160405180910390fd5b6015546001600160a01b03165f6109c28261197c565b90506109d082333088611abd565b5f6109db8383611b2e565b90505f5f6109e7611b4f565b9092509050816109f882600a613573565b610a02908561345a565b610a0c9190613471565b92505f610a2184610a1b610a3b565b5f611be5565b9050610a2e84828a611c5a565b5091979650505050505050565b601554604080516318160ddd60e01b815290515f926001600160a01b031691839183916318160ddd9160048083019260209291908290030181865afa158015610a86573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aaa919061357e565b9050610ab581611a9e565b600f54604051634aaad50560e11b81526001600160a01b03848116600483015283926b033b2e3c9fd0803ce800000092911690639555aa0a90602401602060405180830381865afa158015610b0c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b30919061357e565b610b3a919061345a565b610b449190613471565b9250505090565b5f33610b58858285611ce9565b610b63858585611d5f565b610b6d8585611dbc565b60019150505b9392505050565b610b82611e12565b610b8a611e6c565b60155460408051639705f8f960e01b815290516001600160a01b0392831692839290851691639705f8f9916004808201926020929091908290030181865afa158015610bd8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfc9190613595565b6001600160a01b031614610c22576040516220adef60e41b815260040160405180910390fd5b601580546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915282917faa10add0ff0f23b874d2d1fa353ab28a639aa51906dec303238cdb1f1e54ea4291015b60405180910390a1505050565b610c8d611e12565b600c80546001600160a01b0319166001600160a01b038516179055610cb38260c8611e96565b610cbe8160c8611e96565b600991909155600d5550565b5f6108878160126135b0565b610cde611e12565b6015545f90610cf5906001600160a01b031661197c565b90506016548111610d19576040516301899ea960e01b815260040160405180910390fd5b5f60165482610d289190613447565b601554909150610d42906001600160a01b03168483611eb7565b505050565b610d4f611e12565b610d57611ecb565b565b6001600160a01b0382165f9081526019602090815260408083208484528252808320805482518185028101850190935280835260609492939192909184015b82821015610de5578382905f5260205f2090600302016040518060600160405290815f82015481526020016001820154815260200160028201548152505081526020019060010190610d98565b50505050905092915050565b5f612710600954612710610e059190613447565b610e0f908461345a565b610e199190613471565b9150610927825f6119e4565b5f811580610e34575060145482115b15610e52576040516306130d9960e01b815260040160405180910390fd5b5f6014610e60600185613447565b81548110610e7057610e706135c9565b5f9182526020918290206040805160a0810182526005909302909101805483526001810154938301939093526002830154908201526003820154606082015260049091015460ff16151560808201819052909150610ee157604051635b85f48960e11b815260040160405180910390fd5b8060400151816060015111610ef9575f915050610927565b5f610f048585611f20565b9050805f03610f2a57610f1785856120f0565b9050805f03610f2a575f92505050610927565b5f82604001518360600151610f3f9190613447565b90506b033b2e3c9fd0803ce8000000610f58828461345a565b610f629190613471565b9695505050505050565b5f610f75611a73565b610f7e83611a9e565b60125460ff1615610fa2576040516380c4f80160e01b815260040160405180910390fd5b6015546001600160a01b03167f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029135f610fd98361197c565b9050610fe782333089611abd565b60405163095ea7b360e01b81526001600160a01b0384811660048301526024820188905283169063095ea7b3906044016020604051808303815f875af1158015611033573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105791906135dd565b50601554604051636e553f6560e01b8152600481018890526001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029138116602483015290911690636e553f65906044015f604051808303815f87803b1580156110c3575f5ffd5b505af11580156110d5573d5f5f3e3d5ffd5b505050505f6110e48483611b2e565b9050610f62818888611c5a565b6110f9611e12565b610d575f61215d565b60075433906001600160a01b0316811461114b5760405162461bcd60e51b8152602060048201526005602482015264415456303160d81b60448201526064015b60405180910390fd5b6111548161215d565b50565b600e5461116e9033906001600160a01b0316612176565b5f6111776121a8565b600481015490915060ff16156111a0576040516340079e1f60e11b815260040160405180910390fd5b4260018201556111ae610a3b565b6003820181905560048201805460ff19166001908117909155600b549083015460405191927fb463d19ecf455be65365092cf8e1db6934a0334cf8cd532ddf9964d01f36b5b292611209929190918252602082015260400190565b60405180910390a261115461220b565b611221611e12565b610d57612363565b611231611e12565b611239611e6c565b60155460408051639705f8f960e01b815290515f926001600160a01b031691639705f8f99160048083019260209291908290030181865afa158015611280573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a49190613595565b6015549091506001600160a01b03165f6112bd8361197c565b60405163095ea7b360e01b81526001600160a01b038481166004830152602482018390529192509084169063095ea7b3906044016020604051808303815f875af115801561130d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133191906135dd565b5060155f9054906101000a90046001600160a01b03166001600160a01b031663a25eb5d96040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561137e575f5ffd5b505af1158015611390573d5f5f3e3d5ffd5b5050604080516001600160a01b038088168252861660208201529081018490527f8f89a6ff2401b99707423810461bb39d138c8e4150f4ddaf934eb3e4895c5bdb92506060019050610c78565b6113e5611e12565b6012805460ff1916911515919091179055565b5f6040516302b0eba760e21b815260040160405180910390fd5b60606004805461089b906133fb565b5f61142a611a73565b61143389611a9e565b336001600160a01b0388161461144e5761144e87338b611ce9565b5f6114588a61091c565b90505f6114648961180d565b9050808211156114a057604051633fa733bb60e21b81526001600160a01b038a1660048201526024810183905260448101829052606401611142565b6114aa898c6123a6565b8a60165f8282546114bb9190613447565b909155505060408051838152602081018d90526001600160a01b038b811692908d169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a46115328961152d8b6001600160a01b03165f9081526020819052604090205490565b6123da565b6115428b838c88888b8e8e612786565b9b9a5050505050505050505050565b6001600160a01b0382165f908152601760209081526040808320805482518185028101850190935280835284938301828280156115ab57602002820191905f5260205f20905b815481526020019060010190808311611597575b505050505090505f81519050805f036115c8575f92505050610927565b5f815b80821015611629575f60026115e083856135f8565b6115ea9190613471565b9050868582815181106115ff576115ff6135c9565b6020026020010151101561161f576116188160016135f8565b9250611623565b8091505b506115cb565b815f0361163c575f945050505050610927565b83611648600184613447565b81518110611658576116586135c9565b602002602001015194505050505092915050565b5f33611679818585611d5f565b61093a3385611dbc565b6017602052815f5260405f20818154811061169c575f80fd5b905f5260205f20015f91509150505481565b5f600d546127106116bf9190613447565b6127106116cd8460016119e4565b6116d7919061345a565b6109279190613471565b6117106040518060a001604052805f81526020015f81526020015f81526020015f81526020015f151581525090565b6117186121a8565b6040805160a08101825282548152600183015460208201526002830154918101919091526003820154606082015260049091015460ff1615156080820152919050565b611763612943565b6001600160a01b03811661179f5760405162461bcd60e51b815260206004820152600360248201526227a22d60e91b6044820152606401611142565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b601481815481106117d0575f80fd5b5f918252602090912060059091020180546001820154600283015460038401546004909401549294509092909160ff1685565b5f61092782611a25565b6001600160a01b0381165f9081526020819052604081205461092790610881565b6001600160a01b0381165f90815260208190526040812054610927565b611853611e12565b600f80546001600160a01b039485166001600160a01b0319918216179091556010805493851693821693909317909255600e8054919093169116179055565b61189a611e12565b6118a981600a620186a0612982565b600a55565b5f610927825f6129ad565b6118c1612943565b600780546001600160a01b0383166001600160a01b031990911681179091556118f26006546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b611932611e12565b6015546001600160a01b03908116908216036119615760405163e217c62b60e01b815260040160405180910390fd5b5f61196b8261197c565b9050611978823383611eb7565b5050565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156119c0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610927919061357e565b5f5f5f6119ef611b4f565b915091505f611a0086610a1b610a3b565b905082611a0e83600a613573565b610f58908361345a565b610d428383836001612a11565b5f5f5f611a30611b4f565b90925090505f611a4182600a613573565b611a4b848761345a565b611a559190613471565b9050611a6a81611a63610a3b565b6001611be5565b95945050505050565b600854600160a01b900460ff1615610d575760405163d93c066560e01b815260040160405180910390fd5b805f0361115457604051622a0bd760e81b815260040160405180910390fd5b6040516001600160a01b0380851660248301528316604482015260648101829052611b289085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612ae3565b50505050565b5f5f82611b3a8561197c565b611b449190613447565b9050610b7381611a9e565b601054604051630226614760e01b81526001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913811660048301525f9283929116906302266147906024016040805180830381865afa158015611bb9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bdd919061360b565b915091509091565b5f8115611c235782611c036b033b2e3c9fd0803ce80000008661345a565b611c129064e8d4a5100061345a565b611c1c9190613471565b9050610b73565b611c3e6b033b2e3c9fd0803ce800000064e8d4a5100061345a565b611c48848661345a565b611c529190613471565b949350505050565b8260165f828254611c6b91906135f8565b90915550611c7b90508184612b32565b611c9d8161152d836001600160a01b03165f9081526020819052604090205490565b60408051838152602081018590526001600160a01b0383169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d791015b60405180910390a3505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015611b285781811015611d5157604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401611142565b611b2884848484035f612a11565b6001600160a01b038316611d8857604051634b637e8f60e11b81525f6004820152602401611142565b6001600160a01b038216611db15760405163ec442f0560e01b81525f6004820152602401611142565b610d42838383612b62565b611dc4611a73565b611dce8282612c7b565b611df08261152d846001600160a01b03165f9081526020819052604090205490565b6119788161152d836001600160a01b03165f9081526020819052604090205490565b6006546001600160a01b03163314610d575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611142565b600854600160a01b900460ff16610d5757604051638dfc202b60e01b815260040160405180910390fd5b808211156119785760405163304ec58360e11b815260040160405180910390fd5b610d426001600160a01b0384168383612cad565b611ed3611e6c565b6008805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382165f9081526019602090815260408083208484528252808320815181546060948102820185018452928101838152859491938492849190879085015b82821015611fb2578382905f5260205f2090600302016040518060600160405290815f82015481526020016001820154815260200160028201548152505081526020019060010190611f65565b5050505081526020016001820154815250509050805f0151515f03611fda575f915050610927565b5f6014611fe8600186613447565b81548110611ff857611ff86135c9565b5f91825260208083206040805160a08101825260059094029091018054845260018082015493850193909352600281015491840191909152600381015460608401526004015460ff1615156080830152845180519294509161205a9190613447565b8151811061206a5761206a6135c9565b602002602001015190505f816040015190505f825f015184602001516120909190613447565b90508083602001516120a2919061345a565b6120ac90836135f8565b91505f845f015185602001516120c29190613447565b9050805f036120d9575f9650505050505050610927565b6120e38184613471565b9998505050505050505050565b5f5f6120fc8484611551565b9050805f0361210e575f915050610927565b6001600160a01b0384165f908152601960209081526040808320848452909152812080549091819003612146575f9350505050610927565b61214f82612cdd565b600101549695505050505050565b600780546001600160a01b031916905561115481612d12565b806001600160a01b0316826001600160a01b03161461197857604051634983312960e11b815260040160405180910390fd5b6014545f906121b89060016135f8565b600b54106121d957604051633c96bfd560e11b815260040160405180910390fd5b60146001600b546121ea9190613447565b815481106121fa576121fa6135c9565b905f5260205f209060050201905090565b5f612214610a3b565b6040805160a081018252428082525f60208084018281528486018781526060860184815260808701858152601480546001810182559681905297517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec60059097029687015592517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ed86015590517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ee850155517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ef840155517fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4f0909201805460ff1916921515929092179091559154600b8190558351918252918101849052929350917f29db3deb62ef2036e5eb93aad68d2362aec0711af592cb365566603bd88651d4910160405180910390a250565b61236b611a73565b6008805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f033390565b6001600160a01b0382166123cf57604051634b637e8f60e11b81525f6004820152602401611142565b611978825f83612b62565b6001600160a01b0382165f908152601960209081526040808320600b5484529091528120805490914291156124ab575f61241384612cdd565b80549091506124229084613447565b9150811561249d57835f016040518060600160405280858152602001878152602001848460010154612454919061345a565b846002015461246391906135f8565b90528154600181810184555f93845260209384902083516003909302019182559282015192810192909255604001516002909101556124a5565b600181018590555b50612651565b6001600160a01b0385165f908152601360205260409020541561260b576001600160a01b0385165f9081526019602090815260408083206013835281842054845290915281208054909190829061250490600190613447565b81548110612514576125146135c9565b905f5260205f20906003020190505f60146001600b546125349190613447565b81548110612544576125446135c9565b5f9182526020918290206040805160a08101825260059093029091018054808452600182015494840194909452600281015491830191909152600381015460608301526004015460ff161515608082015291506125a19086613447565b9350855f0160405180606001604052808781526020018981526020018685600101546125cd919061345a565b90528154600181810184555f938452602093849020835160039093020191825592820151928101929092556040015160029091015550612651915050565b6040805160608101825283815260208082018781525f938301848152875460018181018a5589875293909520935160039095029093019384555190830155516002909101555b60018301829055600b546001600160a01b0386165f90815260136020908152604080832084905560188252808320938352929052205460ff166126df576001600160a01b0385165f818152601860209081526040808320600b80548552908352818420805460ff19166001908117909155948452601783529083209054815494850182559083529120909101555b600a5483541061272d57600b5483546040519081526001600160a01b038716907f81fa37560513d551c71bcabf4a2700eb792debb57f4e9879a5dd882040f3431a9060200160405180910390a35b600b5483546040805187815260208101869052908101919091526001600160a01b038716907f64bf20d81818c8d606b5801b3537bbcb1dc4a052a21965e300a7bcbcb37a16e59060600160405180910390a35050505050565b5f5f6127b17f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291361197c565b905060155f9054906101000a90046001600160a01b03166001600160a01b0316635aace8538b7f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913878760028b8e8e6040518963ffffffff1660e01b8152600401612822989796959493929190613687565b5f604051808303815f87803b158015612839575f5ffd5b505af115801561284b573d5f5f3e3d5ffd5b505050505f61287a7f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291383611b2e565b905061288886821015612d63565b5f6127106009548361289a919061345a565b6128a49190613471565b90505f811180156128bf5750600c546001600160a01b031615155b15612909576128ce8183613447565b600c54909250612909907f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913906001600160a01b031683611eb7565b6129347f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029138b84611eb7565b509a9950505050505050505050565b6008546001600160a01b03163314610d575760405162461bcd60e51b81526020600482015260026024820152614e4160f01b6044820152606401611142565b8183108061298f57508083115b15610d4257604051630a8fcb4f60e21b815260040160405180910390fd5b5f5f5f6129b8611b4f565b91509150612710600d54866129cd919061345a565b6129d79190613471565b6129e19086613447565b94505f6129ef82600a613573565b6129f9848861345a565b612a039190613471565b9050610f6281611a63610a3b565b6001600160a01b038416612a3a5760405163e602df0560e01b81525f6004820152602401611142565b6001600160a01b038316612a6357604051634a1406b160e11b81525f6004820152602401611142565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015611b2857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051612ad591815260200190565b60405180910390a350505050565b5f612af76001600160a01b03841683612d81565b805190915015610d425780806020019051810190612b1591906135dd565b610d42576040516388d0662b60e01b815260040160405180910390fd5b6001600160a01b038216612b5b5760405163ec442f0560e01b81525f6004820152602401611142565b6119785f83835b6001600160a01b038316612b8c578060025f828254612b8191906135f8565b90915550612bfc9050565b6001600160a01b0383165f9081526020819052604090205481811015612bde5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401611142565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216612c1857600280548290039055612c36565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cdc91815260200190565b806001600160a01b0316826001600160a01b031603611978576040516378f927ad60e11b815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610d4290849063a9059cbb60e01b90606401611af1565b80545f908290612cef90600190613447565b81548110612cff57612cff6135c9565b905f5260205f2090600302019050919050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b806111545760405163066d598f60e41b815260040160405180910390fd5b6060610b7383835f6040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250606082471015612e205760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401611142565b5f5f866001600160a01b03168587604051612e3b9190613716565b5f6040518083038185875af1925050503d805f8114612e75576040519150601f19603f3d011682016040523d82523d5f602084013e612e7a565b606091505b5091509150612e8b87838387612e96565b979650505050505050565b60608315612f045782515f03612efd576001600160a01b0385163b612efd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611142565b5081611c52565b611c528383815115612f195781518083602001fd5b8060405162461bcd60e51b81526004016111429190612f61565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610b736020830184612f33565b5f60208284031215612f83575f5ffd5b5035919050565b6001600160a01b0381168114611154575f5ffd5b5f5f60408385031215612faf575f5ffd5b8235612fba81612f8a565b946020939093013593505050565b5f5f60408385031215612fd9575f5ffd5b823591506020830135612feb81612f8a565b809150509250929050565b5f5f5f60608486031215613008575f5ffd5b833561301381612f8a565b9250602084013561302381612f8a565b929592945050506040919091013590565b5f60208284031215613044575f5ffd5b8135610b7381612f8a565b5f5f5f60608486031215613061575f5ffd5b833561306c81612f8a565b95602085013595506040909401359392505050565b602080825282518282018190525f918401906040840190835b818110156130d45783518051845260208101516020850152604081015160408501525060608301925060208401935060018101905061309a565b509095945050505050565b8015158114611154575f5ffd5b5f602082840312156130fc575f5ffd5b8135610b73816130df565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561314457613144613107565b604052919050565b5f67ffffffffffffffff82111561316557613165613107565b5060051b60200190565b5f82601f83011261317e575f5ffd5b813561319161318c8261314c565b61311b565b8082825260208201915060208360051b8601019250858311156131b2575f5ffd5b602085015b8381101561325257803567ffffffffffffffff8111156131d5575f5ffd5b8601603f810188136131e5575f5ffd5b602081013567ffffffffffffffff81111561320257613202613107565b613215601f8201601f191660200161311b565b8181526040838301018a1015613229575f5ffd5b816040840160208301375f602083830101528086525050506020830192506020810190506131b7565b5095945050505050565b5f5f5f5f5f5f5f5f610100898b031215613274575f5ffd5b88359750602089013561328681612f8a565b9650604089013561329681612f8a565b955060608901359450608089013567ffffffffffffffff8111156132b8575f5ffd5b8901601f81018b136132c8575f5ffd5b80356132d661318c8261314c565b8082825260208201915060208360051b85010192508d8311156132f7575f5ffd5b6020840193505b828410156133195783358252602093840193909101906132fe565b965050505060a0890135925060c089013567ffffffffffffffff81111561333e575f5ffd5b61334a8b828c0161316f565b989b979a50959894979396929550929360e00135925050565b5f5f5f60608486031215613375575f5ffd5b83359250602084013561338781612f8a565b9150604084013561339781612f8a565b809150509250925092565b5f5f5f606084860312156133b4575f5ffd5b83356133bf81612f8a565b9250602084013561338781612f8a565b5f5f604083850312156133e0575f5ffd5b82356133eb81612f8a565b91506020830135612feb81612f8a565b600181811c9082168061340f57607f821691505b60208210810361342d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561092757610927613433565b808202811582820484141761092757610927613433565b5f8261348b57634e487b7160e01b5f52601260045260245ffd5b500490565b6001815b60018411156134cb578085048111156134af576134af613433565b60018416156134bd57908102905b60019390931c928002613494565b935093915050565b5f826134e157506001610927565b816134ed57505f610927565b8160018114613503576002811461350d57613529565b6001915050610927565b60ff84111561351e5761351e613433565b50506001821b610927565b5060208310610133831016604e8410600b841016171561354c575081810a610927565b6135585f198484613490565b805f190482111561356b5761356b613433565b029392505050565b5f610b7383836134d3565b5f6020828403121561358e575f5ffd5b5051919050565b5f602082840312156135a5575f5ffd5b8151610b7381612f8a565b60ff818116838216019081111561092757610927613433565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156135ed575f5ffd5b8151610b73816130df565b8082018082111561092757610927613433565b5f5f6040838503121561361c575f5ffd5b505080516020909101519092909150565b5f82825180855260208501945060208160051b830101602085015f5b8381101561367b57601f19858403018852613665838351612f33565b6020988901989093509190910190600101613649565b50909695505050505050565b5f61010082018a835260018060a01b038a16602084015288604084015261010060608401528088518083526101208501915060208a0192505f5b818110156136df5783518352602093840193909201916001016136c1565b50508760808501528660a085015283810360c08501526136ff818761362d565b925050508260e08301529998505050505050505050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220af2e77e4e9e2b86dc4323152d92cd3133935326d16c93364235aeb01a79a7a6264736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000b56aa0cbee33c4b6b281027ebaa7697aad42a8530000000000000000000000006469d15333e7d6a8bdad18a18c251706570bc318000000000000000000000000ef3cebf4f1539d02ec58fc5525ac791e015f6602

-----Decoded View---------------
Arg [0] : _underlyingToken (address): 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Arg [1] : _atvVault (address): 0xB56aA0Cbee33C4b6b281027ebAa7697aad42a853
Arg [2] : _atvStorage (address): 0x6469D15333e7d6a8bDad18a18c251706570bc318
Arg [3] : _atvOracle (address): 0xEf3CEbF4F1539D02Ec58fc5525ac791E015f6602

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913
Arg [1] : 000000000000000000000000b56aa0cbee33c4b6b281027ebaa7697aad42a853
Arg [2] : 0000000000000000000000006469d15333e7d6a8bdad18a18c251706570bc318
Arg [3] : 000000000000000000000000ef3cebf4f1539d02ec58fc5525ac791e015f6602

🤖 Code Reader Beta

Generate instant answers for your smart contract questions using Al Models. Read more.

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.