Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 43323726 | 128 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_poolManager","type":"address"},{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_poolExtensionAllowlist","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ETHPoolNotAllowed","type":"error"},{"inputs":[],"name":"HookNotImplemented","type":"error"},{"inputs":[],"name":"LiquidFeeTooHigh","type":"error"},{"inputs":[],"name":"MevModuleEnabled","type":"error"},{"inputs":[],"name":"MevModuleNotOperational","type":"error"},{"inputs":[],"name":"NotPoolManager","type":"error"},{"inputs":[],"name":"OnlyFactory","type":"error"},{"inputs":[],"name":"OnlyFactoryPoolsCanHaveExtensions","type":"error"},{"inputs":[],"name":"OnlyThis","type":"error"},{"inputs":[],"name":"PairedFeeTooHigh","type":"error"},{"inputs":[],"name":"PastCreationTimestamp","type":"error"},{"inputs":[],"name":"PoolExtensionNotEnabled","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"UnsupportedInitializePath","type":"error"},{"inputs":[],"name":"WethCannotBeLiquid","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimProtocolFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"PoolId","name":"","type":"bytes32"}],"name":"MevModuleDisabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"PoolId","name":"poolId","type":"bytes32"},{"indexed":false,"internalType":"uint24","name":"fee","type":"uint24"}],"name":"MevModuleSetFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pairedToken","type":"address"},{"indexed":true,"internalType":"address","name":"liquid","type":"address"},{"indexed":false,"internalType":"PoolId","name":"poolId","type":"bytes32"},{"indexed":false,"internalType":"int24","name":"tickIfToken0IsLiquid","type":"int24"},{"indexed":false,"internalType":"int24","name":"tickSpacing","type":"int24"},{"indexed":false,"internalType":"address","name":"locker","type":"address"},{"indexed":false,"internalType":"address","name":"mevModule","type":"address"}],"name":"PoolCreatedFactory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pairedToken","type":"address"},{"indexed":true,"internalType":"address","name":"liquid","type":"address"},{"indexed":false,"internalType":"PoolId","name":"poolId","type":"bytes32"},{"indexed":false,"internalType":"int24","name":"tickIfToken0IsLiquid","type":"int24"},{"indexed":false,"internalType":"int24","name":"tickSpacing","type":"int24"}],"name":"PoolCreatedOpen","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"PoolId","name":"poolId","type":"bytes32"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"indexed":false,"internalType":"struct IPoolManager.SwapParams","name":"swapParams","type":"tuple"}],"name":"PoolExtensionFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"poolId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"extension","type":"address"}],"name":"PoolExtensionRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"PoolId","name":"poolId","type":"bytes32"}],"name":"PoolExtensionSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"PoolId","name":"poolId","type":"bytes32"},{"indexed":false,"internalType":"uint24","name":"liquidFee","type":"uint24"},{"indexed":false,"internalType":"uint24","name":"pairedFee","type":"uint24"}],"name":"PoolInitialized","type":"event"},{"inputs":[],"name":"FEE_DENOMINATOR","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_LP_FEE","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_MEV_LP_FEE","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_MEV_MODULE_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROTOCOL","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROTOCOL_FEE_NUMERATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"poolKey","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct IPoolManager.SwapParams","name":"swapParams","type":"tuple"},{"internalType":"BalanceDelta","name":"delta","type":"int256"},{"internalType":"bytes","name":"swapData","type":"bytes"}],"name":"_runPoolExtensionHelper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct IPoolManager.ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta","type":"int256"},{"internalType":"BalanceDelta","name":"feesAccrued","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterAddLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BalanceDelta","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterDonate","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"int24","name":"tick","type":"int24"}],"name":"afterInitialize","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct IPoolManager.ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta","type":"int256"},{"internalType":"BalanceDelta","name":"feesAccrued","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterRemoveLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BalanceDelta","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct IPoolManager.SwapParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterSwap","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct IPoolManager.ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeAddLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeDonate","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"beforeInitialize","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct IPoolManager.ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeRemoveLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct IPoolManager.SwapParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeSwap","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BeforeSwapDelta","name":"","type":"int256"},{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHookPermissions","outputs":[{"components":[{"internalType":"bool","name":"beforeInitialize","type":"bool"},{"internalType":"bool","name":"afterInitialize","type":"bool"},{"internalType":"bool","name":"beforeAddLiquidity","type":"bool"},{"internalType":"bool","name":"afterAddLiquidity","type":"bool"},{"internalType":"bool","name":"beforeRemoveLiquidity","type":"bool"},{"internalType":"bool","name":"afterRemoveLiquidity","type":"bool"},{"internalType":"bool","name":"beforeSwap","type":"bool"},{"internalType":"bool","name":"afterSwap","type":"bool"},{"internalType":"bool","name":"beforeDonate","type":"bool"},{"internalType":"bool","name":"afterDonate","type":"bool"},{"internalType":"bool","name":"beforeSwapReturnDelta","type":"bool"},{"internalType":"bool","name":"afterSwapReturnDelta","type":"bool"},{"internalType":"bool","name":"afterAddLiquidityReturnDelta","type":"bool"},{"internalType":"bool","name":"afterRemoveLiquidityReturnDelta","type":"bool"}],"internalType":"struct Hooks.Permissions","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"poolKey","type":"tuple"},{"internalType":"bytes","name":"mevModuleData","type":"bytes"}],"name":"initializeMevModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquid","type":"address"},{"internalType":"address","name":"pairedToken","type":"address"},{"internalType":"int24","name":"tickIfToken0IsLiquid","type":"int24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"address","name":"_locker","type":"address"},{"internalType":"address","name":"_mevModule","type":"address"},{"internalType":"bytes","name":"poolData","type":"bytes"}],"name":"initializePool","outputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquid","type":"address"},{"internalType":"address","name":"pairedToken","type":"address"},{"internalType":"int24","name":"tickIfToken0IsLiquid","type":"int24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"bytes","name":"poolData","type":"bytes"}],"name":"initializePoolOpen","outputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"liquidFee","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"liquidIsToken0","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"locker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"mevModule","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"mevModuleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"}],"name":"mevModuleOperational","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"poolKey","type":"tuple"},{"internalType":"uint24","name":"fee","type":"uint24"}],"name":"mevModuleSetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"pairedFee","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"poolCreationTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"poolExtension","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolExtensionAllowlist","outputs":[{"internalType":"contract ILiquidPoolExtensionAllowlist","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"poolExtensionSetup","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolManager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFee","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
6101006040523461032a57604051601f6143fc38819003918201601f19168301916001600160401b0383118484101761032e5780849260809460405283398101031261032a5761004e81610362565b9061005b60208201610362565b610073606061006c60408501610362565b9301610362565b6001600160a01b039093166080525f6101a061008d610342565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201525f6101a06100eb610342565b60018152826020820152600160408201528260608201528260808201528260a0820152600160c0820152600160e08201528261010082015282610120820152600161014082015260016101608201528261018082015201526120003016151560011480159061031d575b801561030c575b80156102ff575b80156102f2575b80156102e5575b80156102d5575b80156102c5575b80156102b9575b80156102ad575b801561029d575b801561028d575b8015610281575b8015610275575b6102625760a0526001600160a01b031660c05260e052604051614085908161037782396080518181816104410152818161051901528181610591015281816109170152818161101201528181611187015281816112a301528181611f890152818161206b01528181612daa015281816132ab0152613c33015260a05181818161078701528181611a67015281816121a90152613d4f015260c0518181816107d8015261351e015260e051818181611d020152611ecf0152f35b630732d7b560e51b5f523060045260245ffd5b506001301615156101a9565b506002301615156101a2565b506004301615156001141561019b565b5060083016151560011415610194565b5060103016151561018d565b50602030161515610186565b506040301615156001141561017f565b5060803016151560011415610178565b5061010030161515610171565b506102003016151561016a565b5061040030161515610163565b50610800301615156001141561015c565b5061100030161515610155565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b604051906101c082016001600160401b0381118382101761032e57604052565b51906001600160a01b038216820361032a5756fe60806040526004361015610011575f80fd5b5f5f3560e01c8063015e3c291461215857806301ffc9a7146120b657806321d0ee701461203d578063259982e514611f5e5780632b887e0f14611f2f578063334e836714611f115780633fc48eba14611ef35780633fc8cef314611ea25780634468979e14611e625780634c2b287614611c755780634eb5313d14611c46578063564d49e7146119b0578063575e24b4146111fb57806358f8cd54146111d25780636c2bbe7e14610fe25780636fe7e6eb146111155780637f5464f4146110e057806391b9b8271461107b578063949d32e01461105d5780639f063efc14610fe2578063ac3e6ec914610fa2578063b0e21e8a14610f80578063b47b2fb11461086b578063b6a8b0fa14610412578063bdf228631461082b578063c2527427146107fc578063c37fb4da146107ab578063c45a01551461075a578063c4e833ce146105ef578063ccc8dc43146105d3578063d73792a9146105b5578063dc4c90d314610564578063dc98354e146104b1578063e1b4af6914610412578063e1f6e19e146103e3578063e98a429714610217578063ee4d96cf146101ed5763f732b64e146101bc575f80fd5b346101ea5760206003193601126101ea5762ffffff6040602092600435815260098452205416604051908152f35b80fd5b50346101ea5760206003193601126101ea5760406020916004358152600583522054604051908152f35b50346101ea57600319360161014081126103df5760a0136101ea5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c3601126101ea576101243567ffffffffffffffff81116103df5761027d90369060040161245a565b91903033036103b757819260a061029336612849565b208352600660205273ffffffffffffffffffffffffffffffffffffffff6040842054169060a06102c236612849565b208452600160205260ff60408520541691803b156103b357604051937f4f00cb2b00000000000000000000000000000000000000000000000000000000855261030d60048601612a2c565b60a4358015158091036103af5760a486015260c43560c486015260e4359273ffffffffffffffffffffffffffffffffffffffff84168094036103af57856103828195938997938894849660e4860152610104356101048601521515610124850152610160610144850152610164840191612bd0565b03925af180156103a4576103935750f35b8161039d91612742565b6101ea5780f35b6040513d84823e3d90fd5b8680fd5b8480fd5b6004827ff8d8ab0e000000000000000000000000000000000000000000000000000000008152fd5b5080fd5b50346101ea5760206003193601126101ea5762ffffff6040602092600435815260088452205416604051908152f35b50346101ea57600490610424366127c6565b50505050505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361048c577f0a85dc29000000000000000000000000000000000000000000000000000000008152fd5b7fae18210a000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760e06003193601126101ea576104cb612488565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601126101ea5760049061050161268d565b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361048c577f4a58ec19000000000000000000000000000000000000000000000000000000008152fd5b50346101ea57806003193601126101ea57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101ea57806003193601126101ea576020604051620f42408152f35b50346101ea57806003193601126101ea57602060405160788152f35b50346101ea57806003193601126101ea576020816101c0926101a060405161061681612709565b82815282858201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201528060405161067481612709565b600181528381018281526040820160018152606083018481526080840185815260a0850186815260c08601906001825260e0870192600184526101008801948986526101208901968a88526101408a019860018a526101a06101608c019b60018d5261018081019d8e52019c8d526040519d8e916001835251151591015251151560408d015251151560608c015251151560808b015251151560a08a015251151560c089015251151560e08801525115156101008701525115156101208601525115156101408501525115156101608401525115156101808301525115156101a0820152f35b50346101ea57806003193601126101ea57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101ea57806003193601126101ea57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101ea5760206003193601126101ea5760ff60406020926004358152600184522054166040519015158152f35b50346101ea5760206003193601126101ea5773ffffffffffffffffffffffffffffffffffffffff6040602092600435815260038452205416604051908152f35b50346101ea576101606003193601126101ea57610886612488565b60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601126103df5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c3601126103df5761012435906101443567ffffffffffffffff8111610f7c5761090090369060040161245a565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692833303610f54578493869560a061094e366128f7565b208852600160205260ff60408920541691610967613a1c565b83151590151514801560e435948b8612948c868097610f4d575b610e0d575b50508415938480610e06575b610cb4575b505083610cac575b508215610c93575b5050610c30575b5060a06109ba366128f7565b208652600660205273ffffffffffffffffffffffffffffffffffffffff60408720541615159081610c0d575b81610bd2575b50610a25575b6040848151907fb47b2fb1000000000000000000000000000000000000000000000000000000008252600f0b6020820152f35b908491610a30613f80565b508015610b635781610a46916020930190613f99565b0151303b156103df57610ab09260405193849283927fe98a4297000000000000000000000000000000000000000000000000000000008452610a8a60048501612ac5565b610a9660a48501612f39565b610104840152610140610124840152610144830190612783565b038183305af19081610b4a575b5060409250610b10577f1ed105724e1c937013022b0f3e0fd03e1d6e10fc55a253b385fdc849b5996dca608060a0610af4366128f7565b208451908152610b0660208201612f39565ba15b5f80806109f2565b7f3aa5ddf1cdba33927c6f6efe9f23b36d189d8534f7ef5fd9453b89eb8a8889c0602060a0610b3e366128f7565b208451908152a1610b08565b610b55848092612742565b610b5f5782610abd565b8280fd5b5050508260208060405190610b788183612742565b8382527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019081368285013760405191610bb38284612742565b858352368284013760405192610bc8846126c0565b8352820152610a46565b905060a0610bdf366128f7565b208652600260205273ffffffffffffffffffffffffffffffffffffffff80604088205416911614155f6109ec565b905060a0610c1a366128f7565b208652600760205260ff604087205416906109e6565b60a0610c3e959295366128f7565b2087526001602052604087205460ff1615610c75576fffffffffffffffffffffffffffffffff169060801d60801b17925b5f6109ae565b906fffffffffffffffffffffffffffffffff169060801b1792610c6f565b90915081610ca4575b505f806109a7565b90505f610c9c565b92505f61099f565b909a5090988a15610df5578b620f4240610ce783600f0b5b610cde62ffffff85541660020b612f79565b60020b90613b96565b600f0b0592839c5f14610dd15773ffffffffffffffffffffffffffffffffffffffff610d11613b23565b16905b803b15610b5f576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810192909252600f85900b604483015282908290606490829084905af180156103a457610db8575b508160801d600f0b125f14610d9657610d8d9160801b90614012565b975b5f80610997565b610db2916fffffffffffffffffffffffffffffffff1690614012565b97610d8f565b81610dc291612742565b610dcd578b5f610d71565b8b80fd5b73ffffffffffffffffffffffffffffffffffffffff610dee613b00565b1690610d14565b8b620f4240610ce78360801d610ccc565b5082610992565b909b50909990620f424090610e379062ffffff8e8e15610f4457600f0b915b541660020b90613b96565b600f0b0590819b8b5f14610f20578d73ffffffffffffffffffffffffffffffffffffffff610e63613b23565b165b873b156103df576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810191909152600f85900b60448201528181606481838c5af180156103a457610f07575b508160801d600f0b135f14610ee45750610edb9160801b90614012565b985b5f8c610986565b610f01926fffffffffffffffffffffffffffffffff169150614012565b98610edd565b81610f1191612742565b610f1c578d5f610ebe565b8d80fd5b8d73ffffffffffffffffffffffffffffffffffffffff610f3e613b00565b16610e65565b60801d91610e2c565b5084610981565b6004867fae18210a000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b50346101ea57806003193601126101ea5762ffffff6020915416604051908152f35b50346101ea5760206003193601126101ea5773ffffffffffffffffffffffffffffffffffffffff6040602092600435815260068452205416604051908152f35b50346101ea57600490610ff4366125da565b5050505050505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361048c577f0a85dc29000000000000000000000000000000000000000000000000000000008152fd5b50346101ea57806003193601126101ea576020604051620c35008152f35b50346101ea57806003193601126101ea57506110dc60405161109e604082612742565b600f81527f4c69717569642050726f746f636f6c00000000000000000000000000000000006020820152604051918291602083526020830190612783565b0390f35b50346101ea57600319360160c081126103df5760a0136101ea5760a43562ffffff811681036103df5761111290612d06565b80f35b50346101ea576101006003193601126101ea57611130612488565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601126101ea5760049061116661268d565b5061116f6125bc565b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361048c577f0a85dc29000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760206003193601126101ea5760206111f1600435612c38565b6040519015158152f35b50346101ea576101406003193601126101ea57611216612488565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601126101ea5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c3601126101ea576101243567ffffffffffffffff81116103df5761128c90369060040161245a565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016908133036119885783926112d5613a1c565b60a06112e0366128f7565b208652600160205260ff604087205416151590151514155f146119655760a0611308366128f7565b20855260096020528462ffffff6040822054165b61132581613b46565b843b156103df5762ffffff604051917f52759651000000000000000000000000000000000000000000000000000000008352611365600484016024612b5e565b1660a4820152818160c48183895af180156103a457611950575b5050611389613bd5565b611391613e3e565b6113a560a061139f366128f7565b20612c38565b611743575b505060a06113b7366128f7565b208352600160205260ff604084205416906113d0613a1c565b60e43590151583151514858212808061173b575b611595575b15908161158d575b5061142e575b60608486604051917f575e24b400000000000000000000000000000000000000000000000000000000835260208301526040820152f35b9091925062ffffff84541661144281613a2b565b90620f42400362ffffff81116115605785926fffffffffffffffffffffffffffffffff611481670de0b6b3a76400009462ffffff61148b951690613a65565b16600f0b90613ac2565b05918260801b935f1461153c5773ffffffffffffffffffffffffffffffffffffffff6114b5613b23565b16905b803b15610b5f576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810192909252600f9390930b6044820152918290606490829084905af180156115315761151c575b80806113f7565b611527838092612742565b6103df575f611515565b6040513d85823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff611559613b00565b16906114b8565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90505f6113f1565b945062ffffff8654166115a781613a2b565b90620f42400162ffffff811161170e576fffffffffffffffffffffffffffffffff9162ffffff6115d8921690613a65565b16600f0b7fffffffffffffffffffffffffffffffff8000000000000000000000000000000081146116e15761161b670de0b6b3a7640000918803600f0b84613ac2565b0594868660801b96865f146116bd5773ffffffffffffffffffffffffffffffffffffffff611647613b23565b16905b863b15610b5f576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810192909252600f0b60448201528181606481838a5af180156103a4576116a8575b50506113e9565b816116b291612742565b6103af57865f6116a1565b73ffffffffffffffffffffffffffffffffffffffff6116da613b00565b169061164a565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b5081156113e4565b61174b613f80565b5081156118e0576117648161180f936020930190613f99565b60a061176f366128f7565b2086526003825273ffffffffffffffffffffffffffffffffffffffff60408720541660a061179c366128f7565b2087526001835260ff604088205416915191876040518096819582947f831d7dd20000000000000000000000000000000000000000000000000000000084526117e760048501612ac5565b6117f360a48501612f39565b1515610104840152610140610124840152610144830190612783565b03925af19081156118d55784916118a6575b5061182e575b5f806113aa565b60a0611839366128f7565b2083526004602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557f5fd57032db0db564bdfe22ff91033c11d319a1e6b3677e723545a7ba3e304b93602060a0611899366128f7565b20604051908152a1611827565b6118c8915060203d6020116118ce575b6118c08183612742565b810190613bbd565b5f611821565b503d6118b6565b6040513d86823e3d90fd5b505061180f602080604051906118f68183612742565b8682527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810190813682850137604051916119318284612742565b888352368284013760405192611946846126c0565b8352820152611764565b8161195a91612742565b6103b357845f61137f565b60a0611970366128f7565b20855260086020528462ffffff60408220541661131c565b6004847fae18210a000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760e06003193601126101ea576119ca612488565b6119d26124ab565b6119da61259c565b6119e26125ac565b9260843573ffffffffffffffffffffffffffffffffffffffff8116809103611c425760a4359073ffffffffffffffffffffffffffffffffffffffff82168092036103af5760c43567ffffffffffffffff8111611c3e57611a4690369060040161245a565b90611a4f612c0e565b5073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611c1657888888887fc2cc0ae95873d7fa4e50998bc075ab443517931580a05c3f76d9fc983c666a5c60a073ffffffffffffffffffffffffffffffffffffffff808c8c849c611b007f5da295020d1815e72a1c7edab0a1441cc519104e4eafca359c3b01c76feadf079d611c149d8c8b8d8861301c565b99868b208c52600260205260408c20827fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055868b208c52600360205260408c20837fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055868b2098604051998a5260020b60208a015260020b60408901526060880152608087015216941692a3848120808352600660205273ffffffffffffffffffffffffffffffffffffffff6040842054169060405195848795a373ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565bf35b6004897f0c6d42ae000000000000000000000000000000000000000000000000000000008152fd5b8780fd5b8580fd5b50346101ea5760206003193601126101ea5760ff60406020926004358152600784522054166040519015158152f35b50346101ea5760a06003193601126101ea57611c8f612488565b90611c986124ab565b91611ca161259c565b611ca96125ac565b60843567ffffffffffffffff81116103b357611cc990369060040161245a565b90611cd2612c0e565b5073ffffffffffffffffffffffffffffffffffffffff85169473ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168614611e3a5790838589611d36959461301c565b9360a085208152600660205273ffffffffffffffffffffffffffffffffffffffff604082205416611e125750606073ffffffffffffffffffffffffffffffffffffffff60a0967f09cc09ed021cf0d9112cf6d1bdc8689bfedd367df1ac5a550dfd6a07955b8d19938888209560405196875260020b602087015260020b60408601521692a3611c14604051809273ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b807fdc8e26b50000000000000000000000000000000000000000000000000000000060049252fd5b6004877f94d0be25000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760206003193601126101ea5773ffffffffffffffffffffffffffffffffffffffff6040602092600435815260028452205416604051908152f35b50346101ea57806003193601126101ea57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101ea57806003193601126101ea576020604051620186a08152f35b50346101ea57806003193601126101ea57602060405162030d408152f35b50346101ea5760206003193601126101ea5760ff60406020926004358152600484522054166040519015158152f35b50346101ea57611f6d366124ef565b505050905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036120155760a061139f611fbf9236906129c3565b611fed5760206040517f259982e5000000000000000000000000000000000000000000000000000000008152f35b807f678a240e0000000000000000000000000000000000000000000000000000000060049252fd5b6004827fae18210a000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760049061204f366124ef565b505050505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361048c577f0a85dc29000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760206003193601126101ea576004357fffffffff0000000000000000000000000000000000000000000000000000000081168091036103df57807f13caa09c000000000000000000000000000000000000000000000000000000006020921490811561212e575b506040519015158152f35b7f85f821790000000000000000000000000000000000000000000000000000000091501482612123565b503461242e57600319360160c0811261242e5760a01361242e5760a43567ffffffffffffffff811161242e5761219290369060040161245a565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036124325760a06121da36612849565b205f52600360205273ffffffffffffffffffffffffffffffffffffffff60405f20541691823b1561242e57612255925f92836040518096819582947f645a153400000000000000000000000000000000000000000000000000000000845261224460048501612a2c565b60c060a485015260c4840191612bd0565b03925af1801561242357612410575b5060a061227036612849565b208152600660205273ffffffffffffffffffffffffffffffffffffffff6040822054166122db575b60a06122a336612849565b20815260046020526040812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b60a06122e636612849565b20815260066020528073ffffffffffffffffffffffffffffffffffffffff60408220541660a061231536612849565b208252600260205273ffffffffffffffffffffffffffffffffffffffff60408320541660a061234336612849565b208352600160205260ff604084205416823b1561240b5760e484928360405195869485937f99e1ebae00000000000000000000000000000000000000000000000000000000855261239660048601612a2c565b60a4850152151560c48401525af180156103a4576123f6575b505060a06123bc36612849565b20815260076020526040812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055612298565b8161240091612742565b6101ea57805f6123af565b505050fd5b61241c91505f90612742565b5f5f612264565b6040513d5f823e3d90fd5b5f80fd5b7f0c6d42ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9181601f8401121561242e5782359167ffffffffffffffff831161242e576020838186019501011161242e57565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361242e57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361242e57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361242e57565b9061016060031983011261242e5760043573ffffffffffffffffffffffffffffffffffffffff8116810361242e579160a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc82011261242e5760249160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c83011261242e5760c491610144359067ffffffffffffffff821161242e576125989160040161245a565b9091565b604435908160020b820361242e57565b606435908160020b820361242e57565b60e435908160020b820361242e57565b35908160020b820361242e57565b906101a060031983011261242e5760043573ffffffffffffffffffffffffffffffffffffffff8116810361242e579160a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc82011261242e5760249160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c83011261242e5760c49161014435916101643591610184359067ffffffffffffffff821161242e576125989160040161245a565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361242e57565b359062ffffff8216820361242e57565b6040810190811067ffffffffffffffff8211176126dc57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101c0810190811067ffffffffffffffff8211176126dc57604052565b60a0810190811067ffffffffffffffff8211176126dc57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176126dc57604052565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61012060031982011261242e5760043573ffffffffffffffffffffffffffffffffffffffff8116810361242e579160a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83011261242e5760249160c4359160e43591610104359067ffffffffffffffff821161242e576125989160040161245a565b60031960a091011261242e576040519061286282612726565b8160043573ffffffffffffffffffffffffffffffffffffffff8116810361242e57815260243573ffffffffffffffffffffffffffffffffffffffff8116810361242e57602082015260443562ffffff8116810361242e5760408201526064358060020b810361242e5760608201526084359073ffffffffffffffffffffffffffffffffffffffff8216820361242e5760800152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60a091011261242e576040519061292e82612726565b8160243573ffffffffffffffffffffffffffffffffffffffff8116810361242e57815260443573ffffffffffffffffffffffffffffffffffffffff8116810361242e57602082015260643562ffffff8116810361242e5760408201526084358060020b810361242e57606082015260a4359073ffffffffffffffffffffffffffffffffffffffff8216820361242e5760800152565b91908260a091031261242e576040516129db81612726565b6080612a278183956129ec816124ce565b85526129fa602082016124ce565b6020860152612a0b604082016126b0565b6040860152612a1c606082016125cc565b6060860152016124ce565b910152565b60043573ffffffffffffffffffffffffffffffffffffffff811680910361242e57815260243573ffffffffffffffffffffffffffffffffffffffff811680910361242e57602082015260443562ffffff811680910361242e5760408201526064358060020b80910361242e5760608201526084359073ffffffffffffffffffffffffffffffffffffffff821680920361242e5760800152565b60243573ffffffffffffffffffffffffffffffffffffffff811680910361242e57815260443573ffffffffffffffffffffffffffffffffffffffff811680910361242e57602082015260643562ffffff811680910361242e5760408201526084358060020b80910361242e57606082015260a4359073ffffffffffffffffffffffffffffffffffffffff821680920361242e5760800152565b73ffffffffffffffffffffffffffffffffffffffff612bca6080809383612b84826124ce565b16865283612b94602083016124ce565b16602087015262ffffff612baa604083016126b0565b166040870152612bbc606082016125cc565b60020b6060870152016124ce565b16910152565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b60405190612c1b82612726565b5f6080838281528260208201528260408201528260608201520152565b805f52600460205260ff60405f205416155f14612c5457505f90565b805f52600560205260405f205460788101809111612cd957421015612c795750600190565b6020817f5fd57032db0db564bdfe22ff91033c11d319a1e6b3677e723545a7ba3e304b93925f526004825260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008154169055604051908152a15f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60a0612d133660046129c3565b205f52600360205273ffffffffffffffffffffffffffffffffffffffff60405f2054163303612f1157612d4c60a061139f3660046129c3565b15612f0e5762ffffff8116620c35008111612f0a5760a0612d6e3660046129c3565b20604051602081019182526006604082015260408152612d8f606082612742565b5190209073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691604051907f1e2eaeaf0000000000000000000000000000000000000000000000000000000082526004820152602081602481865afa8015612423575f90612ed5575b62ffffff915060d01c16811115612ed057813b1561242e575f809260c4604051809581937f52759651000000000000000000000000000000000000000000000000000000008352612e62600484016004612b5e565b8660a48401525af18015612423577f05275af3b70c3443abf635099e048f0c9808e8553eb2c8d8ba5ba5e827df209593604093612ea492612ec0575b50613b46565b60a0612eb13660046129c3565b209082519182526020820152a1565b5f612eca91612742565b5f612e9e565b505050565b506020813d602011612f02575b81612eef60209383612742565b8101031261242e5762ffffff9051612e0d565b3d9150612ee2565b5050565b50565b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b60c43580151580910361242e57815260e4356020820152610104359073ffffffffffffffffffffffffffffffffffffffff821680920361242e5760400152565b60020b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008114612cd9575f0390565b81601f8201121561242e5780359067ffffffffffffffff82116126dc5760405192612ffb601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200185612742565b8284526020838301011161242e57815f926020809301838601378301015290565b949190613027612c0e565b505f9373ffffffffffffffffffffffffffffffffffffffff8216801580156139fe575b6139d65773ffffffffffffffffffffffffffffffffffffffff908189161092835f146139cf57885b84156139c857505b81604051996130888b612726565b16895216602088015262800000604088015260020b606087015230608087015260a086205f52600160205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff83161790555f146139ba575b60020b8060ff1d8181011890620d89e8821161398f57600182167001fffcb933bd6fad37aa2d162d1a59400102700100000000000000000000000000000000189160028116613973575b60048116613957575b6008811661393b575b6010811661391f575b60208116613903575b604081166138e7575b608081166138cb575b61010081166138af575b6102008116613893575b6104008116613877575b610800811661385b575b611000811661383f575b6120008116613823575b6140008116613807575b61800081166137eb575b6201000081166137cf575b6202000081166137b4575b620400008116613799575b6208000016613780575b5f12613759575b73ffffffffffffffffffffffffffffffffffffffff63ffffffff604051927f6276cbbe000000000000000000000000000000000000000000000000000000008452613283600485018973ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b0160201c1660a482015260208160c4815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1801561242357613720575b5060a084205f5260056020524260405f205582019160208184031261242e5780359067ffffffffffffffff821161242e570160608184031261242e57604051906060820182811067ffffffffffffffff8211176126dc5760405261333b816124ce565b8252602081013567ffffffffffffffff811161242e578461335d918301612fa8565b9360208301948552604082013567ffffffffffffffff811161242e576133839201612fa8565b9081604082015260408280518101031261242e576040516133a3816126c0565b620186a062ffffff6133c660406133bc60208801613bad565b9687865201613bad565b946020840195865216116136f857620186a062ffffff845116116136d05760608173ffffffffffffffffffffffffffffffffffffffff9462ffffff7fde0cc41485843685947cd8856be361f8038580ba3916da280a9e36d8cc49998294511660a08a205f52600860205262ffffff60405f2091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082541617905562ffffff81511660a08a205f52600960205262ffffff60405f2091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082541617905562ffffff8060a08b209351169151169060405192835260208301526040820152a151169151826134d5575b50505090565b6040517fa42976dc00000000000000000000000000000000000000000000000000000000815283600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612423575f916136b1575b50156136895760a084205f52600160205260ff60405f205416833b1561242e5761360e915f9160405193849283927fd513493a0000000000000000000000000000000000000000000000000000000084526135f6600485018b73ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b151560a484015260e060c484015260e4830190612783565b038183875af1801561242357613675575b50604073ffffffffffffffffffffffffffffffffffffffff9160a08520815260066020522091167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790555f80806134cf565b61368191505f90612742565b5f604061361f565b7fcb5fe3ca000000000000000000000000000000000000000000000000000000005f5260045ffd5b6136ca915060203d6020116118ce576118c08183612742565b5f61354e565b7fb2bb455f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e121198000000000000000000000000000000000000000000000000000000005f5260045ffd5b6020813d602011613751575b8161373960209383612742565b8101031261242e57518060020b8103156132d8575f80fd5b3d915061372c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff046131eb565b6b048a170391f7dc42444e8fa290910260801c906131e4565b6d2216e584f5fa1ea926041bedfe9890920260801c916131da565b916e5d6af8dedb81196699c329225ee6040260801c916131cf565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c916131c4565b916f31be135f97d08fd981231505542fcfa60260801c916131b9565b916f70d869a156d2a1b890bb3df62baf32f70260801c916131af565b916fa9f746462d870fdf8a65dc1f90e061e50260801c916131a5565b916fd097f3bdfd2022b8845ad8f792aa58250260801c9161319b565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91613191565b916ff3392b0822b70005940c7a398e4b70f30260801c91613187565b916ff987a7253ac413176f2b074cf7815e540260801c9161317d565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91613173565b916ffe5dee046a99a2a811c461f1969c30530260801c91613169565b916fff2ea16466c96a3843ec78b326b528610260801c91613160565b916fff973b41fa98c081472e6896dfb254c00260801c91613157565b916fffcb9843d60f6159c9db58835c9266440260801c9161314e565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91613145565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c9161313c565b916ffff97272373d413259a46990580e213a0260801c91613133565b7f8b86327a000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6139c390612f79565b6130e9565b905061307a565b8098613072565b7ff4a44333000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073ffffffffffffffffffffffffffffffffffffffff88161561304a565b60c435801515810361242e5790565b6fffffffffffffffffffffffffffffffff670de0b6b3a7640000911602906fffffffffffffffffffffffffffffffff8216918203612cd957565b906fffffffffffffffffffffffffffffffff16908115613a95576fffffffffffffffffffffffffffffffff160490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b81810292915f82127f8000000000000000000000000000000000000000000000000000000000000000821416612cd9578184051490151715612cd957565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361242e5790565b60443573ffffffffffffffffffffffffffffffffffffffff8116810361242e5790565b62ffffff1662030d4081029080820462030d401490151715612cd957620f424062ffffff9104167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000005f5416175f55565b90600f0b90600f0b029081600f0b918203612cd957565b519062ffffff8216820361242e57565b9081602091031261242e5751801515810361242e5790565b613be03660246129c3565b60a05f91205f52600160205260ff60405f2054165f14613e1a5760443573ffffffffffffffffffffffffffffffffffffffff8116810361242e575b73ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016911691604051917efdd58e000000000000000000000000000000000000000000000000000000008352306004840152836024840152602083604481845afa928315612423575f93613de6575b508215613de057803b1561242e576040517ff5298aca00000000000000000000000000000000000000000000000000000000815230600482015260248101859052604481018490525f8160648183865af1801561242357613dcb575b50803b156103df578180916064604051809481937f0b0d9c0900000000000000000000000000000000000000000000000000000000835289600484015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660248401528860448401525af180156103a457613db6575b505060207f175b790d44599ca70432cc8d1406504cb3a28fc13ff995c06dde6663412b211a91604051908152a2565b613dc1828092612742565b6101ea5780613d87565b613dd89192505f90612742565b5f905f613cfb565b50505050565b9092506020813d602011613e12575b81613e0260209383612742565b8101031261242e5751915f613c9f565b3d9150613df5565b60243573ffffffffffffffffffffffffffffffffffffffff81168114613c1b575f80fd5b60a0613e4b3660246129c3565b205f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f20541615613f565760a0613e803660246129c3565b205f52600160205260ff60405f2054165f14613f585760243573ffffffffffffffffffffffffffffffffffffffff81169081810361242e57505b60a0613ec73660246129c3565b205f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f20541690813b1561242e5773ffffffffffffffffffffffffffffffffffffffff60245f928360405195869485937f86b0c83f0000000000000000000000000000000000000000000000000000000085521660048401525af1801561242357613f4c5750565b5f613f5691612742565b565b60443573ffffffffffffffffffffffffffffffffffffffff81169081810361242e5750613eba565b60405190613f8d826126c0565b60606020838281520152565b60208183031261242e5780359067ffffffffffffffff821161242e570160408183031261242e5760405191613fcd836126c0565b813567ffffffffffffffff811161242e5781613fea918401612fa8565b8352602082013567ffffffffffffffff811161242e5761400a9201612fa8565b602082015290565b614035906140278360801d8260801d0361404f565b92600f0b90600f0b0361404f565b6fffffffffffffffffffffffffffffffff169060801b1790565b9081600f0b91820361405d57565b7f93dafdf1000000000000000000000000000000000000000000000000000000005f5260045ffd000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b00000000000000000000000004f1a284168743759be6554f607a10cebdb77760000000000000000000000000b614167d79adbaa9ba35d05fe1d5542d7316ccaa0000000000000000000000004200000000000000000000000000000000000006
Deployed Bytecode
0x60806040526004361015610011575f80fd5b5f5f3560e01c8063015e3c291461215857806301ffc9a7146120b657806321d0ee701461203d578063259982e514611f5e5780632b887e0f14611f2f578063334e836714611f115780633fc48eba14611ef35780633fc8cef314611ea25780634468979e14611e625780634c2b287614611c755780634eb5313d14611c46578063564d49e7146119b0578063575e24b4146111fb57806358f8cd54146111d25780636c2bbe7e14610fe25780636fe7e6eb146111155780637f5464f4146110e057806391b9b8271461107b578063949d32e01461105d5780639f063efc14610fe2578063ac3e6ec914610fa2578063b0e21e8a14610f80578063b47b2fb11461086b578063b6a8b0fa14610412578063bdf228631461082b578063c2527427146107fc578063c37fb4da146107ab578063c45a01551461075a578063c4e833ce146105ef578063ccc8dc43146105d3578063d73792a9146105b5578063dc4c90d314610564578063dc98354e146104b1578063e1b4af6914610412578063e1f6e19e146103e3578063e98a429714610217578063ee4d96cf146101ed5763f732b64e146101bc575f80fd5b346101ea5760206003193601126101ea5762ffffff6040602092600435815260098452205416604051908152f35b80fd5b50346101ea5760206003193601126101ea5760406020916004358152600583522054604051908152f35b50346101ea57600319360161014081126103df5760a0136101ea5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c3601126101ea576101243567ffffffffffffffff81116103df5761027d90369060040161245a565b91903033036103b757819260a061029336612849565b208352600660205273ffffffffffffffffffffffffffffffffffffffff6040842054169060a06102c236612849565b208452600160205260ff60408520541691803b156103b357604051937f4f00cb2b00000000000000000000000000000000000000000000000000000000855261030d60048601612a2c565b60a4358015158091036103af5760a486015260c43560c486015260e4359273ffffffffffffffffffffffffffffffffffffffff84168094036103af57856103828195938997938894849660e4860152610104356101048601521515610124850152610160610144850152610164840191612bd0565b03925af180156103a4576103935750f35b8161039d91612742565b6101ea5780f35b6040513d84823e3d90fd5b8680fd5b8480fd5b6004827ff8d8ab0e000000000000000000000000000000000000000000000000000000008152fd5b5080fd5b50346101ea5760206003193601126101ea5762ffffff6040602092600435815260088452205416604051908152f35b50346101ea57600490610424366127c6565b50505050505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b16330361048c577f0a85dc29000000000000000000000000000000000000000000000000000000008152fd5b7fae18210a000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760e06003193601126101ea576104cb612488565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601126101ea5760049061050161268d565b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b16330361048c577f4a58ec19000000000000000000000000000000000000000000000000000000008152fd5b50346101ea57806003193601126101ea57602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b168152f35b50346101ea57806003193601126101ea576020604051620f42408152f35b50346101ea57806003193601126101ea57602060405160788152f35b50346101ea57806003193601126101ea576020816101c0926101a060405161061681612709565b82815282858201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201528060405161067481612709565b600181528381018281526040820160018152606083018481526080840185815260a0850186815260c08601906001825260e0870192600184526101008801948986526101208901968a88526101408a019860018a526101a06101608c019b60018d5261018081019d8e52019c8d526040519d8e916001835251151591015251151560408d015251151560608c015251151560808b015251151560a08a015251151560c089015251151560e08801525115156101008701525115156101208601525115156101408501525115156101608401525115156101808301525115156101a0820152f35b50346101ea57806003193601126101ea57602060405173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000004f1a284168743759be6554f607a10cebdb77760168152f35b50346101ea57806003193601126101ea57602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b614167d79adbaa9ba35d05fe1d5542d7316ccaa168152f35b50346101ea5760206003193601126101ea5760ff60406020926004358152600184522054166040519015158152f35b50346101ea5760206003193601126101ea5773ffffffffffffffffffffffffffffffffffffffff6040602092600435815260038452205416604051908152f35b50346101ea576101606003193601126101ea57610886612488565b60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601126103df5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c3601126103df5761012435906101443567ffffffffffffffff8111610f7c5761090090369060040161245a565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b1692833303610f54578493869560a061094e366128f7565b208852600160205260ff60408920541691610967613a1c565b83151590151514801560e435948b8612948c868097610f4d575b610e0d575b50508415938480610e06575b610cb4575b505083610cac575b508215610c93575b5050610c30575b5060a06109ba366128f7565b208652600660205273ffffffffffffffffffffffffffffffffffffffff60408720541615159081610c0d575b81610bd2575b50610a25575b6040848151907fb47b2fb1000000000000000000000000000000000000000000000000000000008252600f0b6020820152f35b908491610a30613f80565b508015610b635781610a46916020930190613f99565b0151303b156103df57610ab09260405193849283927fe98a4297000000000000000000000000000000000000000000000000000000008452610a8a60048501612ac5565b610a9660a48501612f39565b610104840152610140610124840152610144830190612783565b038183305af19081610b4a575b5060409250610b10577f1ed105724e1c937013022b0f3e0fd03e1d6e10fc55a253b385fdc849b5996dca608060a0610af4366128f7565b208451908152610b0660208201612f39565ba15b5f80806109f2565b7f3aa5ddf1cdba33927c6f6efe9f23b36d189d8534f7ef5fd9453b89eb8a8889c0602060a0610b3e366128f7565b208451908152a1610b08565b610b55848092612742565b610b5f5782610abd565b8280fd5b5050508260208060405190610b788183612742565b8382527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019081368285013760405191610bb38284612742565b858352368284013760405192610bc8846126c0565b8352820152610a46565b905060a0610bdf366128f7565b208652600260205273ffffffffffffffffffffffffffffffffffffffff80604088205416911614155f6109ec565b905060a0610c1a366128f7565b208652600760205260ff604087205416906109e6565b60a0610c3e959295366128f7565b2087526001602052604087205460ff1615610c75576fffffffffffffffffffffffffffffffff169060801d60801b17925b5f6109ae565b906fffffffffffffffffffffffffffffffff169060801b1792610c6f565b90915081610ca4575b505f806109a7565b90505f610c9c565b92505f61099f565b909a5090988a15610df5578b620f4240610ce783600f0b5b610cde62ffffff85541660020b612f79565b60020b90613b96565b600f0b0592839c5f14610dd15773ffffffffffffffffffffffffffffffffffffffff610d11613b23565b16905b803b15610b5f576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810192909252600f85900b604483015282908290606490829084905af180156103a457610db8575b508160801d600f0b125f14610d9657610d8d9160801b90614012565b975b5f80610997565b610db2916fffffffffffffffffffffffffffffffff1690614012565b97610d8f565b81610dc291612742565b610dcd578b5f610d71565b8b80fd5b73ffffffffffffffffffffffffffffffffffffffff610dee613b00565b1690610d14565b8b620f4240610ce78360801d610ccc565b5082610992565b909b50909990620f424090610e379062ffffff8e8e15610f4457600f0b915b541660020b90613b96565b600f0b0590819b8b5f14610f20578d73ffffffffffffffffffffffffffffffffffffffff610e63613b23565b165b873b156103df576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810191909152600f85900b60448201528181606481838c5af180156103a457610f07575b508160801d600f0b135f14610ee45750610edb9160801b90614012565b985b5f8c610986565b610f01926fffffffffffffffffffffffffffffffff169150614012565b98610edd565b81610f1191612742565b610f1c578d5f610ebe565b8d80fd5b8d73ffffffffffffffffffffffffffffffffffffffff610f3e613b00565b16610e65565b60801d91610e2c565b5084610981565b6004867fae18210a000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b50346101ea57806003193601126101ea5762ffffff6020915416604051908152f35b50346101ea5760206003193601126101ea5773ffffffffffffffffffffffffffffffffffffffff6040602092600435815260068452205416604051908152f35b50346101ea57600490610ff4366125da565b5050505050505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b16330361048c577f0a85dc29000000000000000000000000000000000000000000000000000000008152fd5b50346101ea57806003193601126101ea576020604051620c35008152f35b50346101ea57806003193601126101ea57506110dc60405161109e604082612742565b600f81527f4c69717569642050726f746f636f6c00000000000000000000000000000000006020820152604051918291602083526020830190612783565b0390f35b50346101ea57600319360160c081126103df5760a0136101ea5760a43562ffffff811681036103df5761111290612d06565b80f35b50346101ea576101006003193601126101ea57611130612488565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601126101ea5760049061116661268d565b5061116f6125bc565b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b16330361048c577f0a85dc29000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760206003193601126101ea5760206111f1600435612c38565b6040519015158152f35b50346101ea576101406003193601126101ea57611216612488565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601126101ea5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c3601126101ea576101243567ffffffffffffffff81116103df5761128c90369060040161245a565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b16908133036119885783926112d5613a1c565b60a06112e0366128f7565b208652600160205260ff604087205416151590151514155f146119655760a0611308366128f7565b20855260096020528462ffffff6040822054165b61132581613b46565b843b156103df5762ffffff604051917f52759651000000000000000000000000000000000000000000000000000000008352611365600484016024612b5e565b1660a4820152818160c48183895af180156103a457611950575b5050611389613bd5565b611391613e3e565b6113a560a061139f366128f7565b20612c38565b611743575b505060a06113b7366128f7565b208352600160205260ff604084205416906113d0613a1c565b60e43590151583151514858212808061173b575b611595575b15908161158d575b5061142e575b60608486604051917f575e24b400000000000000000000000000000000000000000000000000000000835260208301526040820152f35b9091925062ffffff84541661144281613a2b565b90620f42400362ffffff81116115605785926fffffffffffffffffffffffffffffffff611481670de0b6b3a76400009462ffffff61148b951690613a65565b16600f0b90613ac2565b05918260801b935f1461153c5773ffffffffffffffffffffffffffffffffffffffff6114b5613b23565b16905b803b15610b5f576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810192909252600f9390930b6044820152918290606490829084905af180156115315761151c575b80806113f7565b611527838092612742565b6103df575f611515565b6040513d85823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff611559613b00565b16906114b8565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90505f6113f1565b945062ffffff8654166115a781613a2b565b90620f42400162ffffff811161170e576fffffffffffffffffffffffffffffffff9162ffffff6115d8921690613a65565b16600f0b7fffffffffffffffffffffffffffffffff8000000000000000000000000000000081146116e15761161b670de0b6b3a7640000918803600f0b84613ac2565b0594868660801b96865f146116bd5773ffffffffffffffffffffffffffffffffffffffff611647613b23565b16905b863b15610b5f576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810192909252600f0b60448201528181606481838a5af180156103a4576116a8575b50506113e9565b816116b291612742565b6103af57865f6116a1565b73ffffffffffffffffffffffffffffffffffffffff6116da613b00565b169061164a565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b5081156113e4565b61174b613f80565b5081156118e0576117648161180f936020930190613f99565b60a061176f366128f7565b2086526003825273ffffffffffffffffffffffffffffffffffffffff60408720541660a061179c366128f7565b2087526001835260ff604088205416915191876040518096819582947f831d7dd20000000000000000000000000000000000000000000000000000000084526117e760048501612ac5565b6117f360a48501612f39565b1515610104840152610140610124840152610144830190612783565b03925af19081156118d55784916118a6575b5061182e575b5f806113aa565b60a0611839366128f7565b2083526004602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557f5fd57032db0db564bdfe22ff91033c11d319a1e6b3677e723545a7ba3e304b93602060a0611899366128f7565b20604051908152a1611827565b6118c8915060203d6020116118ce575b6118c08183612742565b810190613bbd565b5f611821565b503d6118b6565b6040513d86823e3d90fd5b505061180f602080604051906118f68183612742565b8682527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810190813682850137604051916119318284612742565b888352368284013760405192611946846126c0565b8352820152611764565b8161195a91612742565b6103b357845f61137f565b60a0611970366128f7565b20855260086020528462ffffff60408220541661131c565b6004847fae18210a000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760e06003193601126101ea576119ca612488565b6119d26124ab565b6119da61259c565b6119e26125ac565b9260843573ffffffffffffffffffffffffffffffffffffffff8116809103611c425760a4359073ffffffffffffffffffffffffffffffffffffffff82168092036103af5760c43567ffffffffffffffff8111611c3e57611a4690369060040161245a565b90611a4f612c0e565b5073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000004f1a284168743759be6554f607a10cebdb77760163303611c1657888888887fc2cc0ae95873d7fa4e50998bc075ab443517931580a05c3f76d9fc983c666a5c60a073ffffffffffffffffffffffffffffffffffffffff808c8c849c611b007f5da295020d1815e72a1c7edab0a1441cc519104e4eafca359c3b01c76feadf079d611c149d8c8b8d8861301c565b99868b208c52600260205260408c20827fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055868b208c52600360205260408c20837fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055868b2098604051998a5260020b60208a015260020b60408901526060880152608087015216941692a3848120808352600660205273ffffffffffffffffffffffffffffffffffffffff6040842054169060405195848795a373ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565bf35b6004897f0c6d42ae000000000000000000000000000000000000000000000000000000008152fd5b8780fd5b8580fd5b50346101ea5760206003193601126101ea5760ff60406020926004358152600784522054166040519015158152f35b50346101ea5760a06003193601126101ea57611c8f612488565b90611c986124ab565b91611ca161259c565b611ca96125ac565b60843567ffffffffffffffff81116103b357611cc990369060040161245a565b90611cd2612c0e565b5073ffffffffffffffffffffffffffffffffffffffff85169473ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004200000000000000000000000000000000000006168614611e3a5790838589611d36959461301c565b9360a085208152600660205273ffffffffffffffffffffffffffffffffffffffff604082205416611e125750606073ffffffffffffffffffffffffffffffffffffffff60a0967f09cc09ed021cf0d9112cf6d1bdc8689bfedd367df1ac5a550dfd6a07955b8d19938888209560405196875260020b602087015260020b60408601521692a3611c14604051809273ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b807fdc8e26b50000000000000000000000000000000000000000000000000000000060049252fd5b6004877f94d0be25000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760206003193601126101ea5773ffffffffffffffffffffffffffffffffffffffff6040602092600435815260028452205416604051908152f35b50346101ea57806003193601126101ea57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004200000000000000000000000000000000000006168152f35b50346101ea57806003193601126101ea576020604051620186a08152f35b50346101ea57806003193601126101ea57602060405162030d408152f35b50346101ea5760206003193601126101ea5760ff60406020926004358152600484522054166040519015158152f35b50346101ea57611f6d366124ef565b505050905073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b1633036120155760a061139f611fbf9236906129c3565b611fed5760206040517f259982e5000000000000000000000000000000000000000000000000000000008152f35b807f678a240e0000000000000000000000000000000000000000000000000000000060049252fd5b6004827fae18210a000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760049061204f366124ef565b505050505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b16330361048c577f0a85dc29000000000000000000000000000000000000000000000000000000008152fd5b50346101ea5760206003193601126101ea576004357fffffffff0000000000000000000000000000000000000000000000000000000081168091036103df57807f13caa09c000000000000000000000000000000000000000000000000000000006020921490811561212e575b506040519015158152f35b7f85f821790000000000000000000000000000000000000000000000000000000091501482612123565b503461242e57600319360160c0811261242e5760a01361242e5760a43567ffffffffffffffff811161242e5761219290369060040161245a565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000004f1a284168743759be6554f607a10cebdb777601633036124325760a06121da36612849565b205f52600360205273ffffffffffffffffffffffffffffffffffffffff60405f20541691823b1561242e57612255925f92836040518096819582947f645a153400000000000000000000000000000000000000000000000000000000845261224460048501612a2c565b60c060a485015260c4840191612bd0565b03925af1801561242357612410575b5060a061227036612849565b208152600660205273ffffffffffffffffffffffffffffffffffffffff6040822054166122db575b60a06122a336612849565b20815260046020526040812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b60a06122e636612849565b20815260066020528073ffffffffffffffffffffffffffffffffffffffff60408220541660a061231536612849565b208252600260205273ffffffffffffffffffffffffffffffffffffffff60408320541660a061234336612849565b208352600160205260ff604084205416823b1561240b5760e484928360405195869485937f99e1ebae00000000000000000000000000000000000000000000000000000000855261239660048601612a2c565b60a4850152151560c48401525af180156103a4576123f6575b505060a06123bc36612849565b20815260076020526040812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055612298565b8161240091612742565b6101ea57805f6123af565b505050fd5b61241c91505f90612742565b5f5f612264565b6040513d5f823e3d90fd5b5f80fd5b7f0c6d42ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9181601f8401121561242e5782359167ffffffffffffffff831161242e576020838186019501011161242e57565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361242e57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361242e57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361242e57565b9061016060031983011261242e5760043573ffffffffffffffffffffffffffffffffffffffff8116810361242e579160a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc82011261242e5760249160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c83011261242e5760c491610144359067ffffffffffffffff821161242e576125989160040161245a565b9091565b604435908160020b820361242e57565b606435908160020b820361242e57565b60e435908160020b820361242e57565b35908160020b820361242e57565b906101a060031983011261242e5760043573ffffffffffffffffffffffffffffffffffffffff8116810361242e579160a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc82011261242e5760249160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c83011261242e5760c49161014435916101643591610184359067ffffffffffffffff821161242e576125989160040161245a565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361242e57565b359062ffffff8216820361242e57565b6040810190811067ffffffffffffffff8211176126dc57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101c0810190811067ffffffffffffffff8211176126dc57604052565b60a0810190811067ffffffffffffffff8211176126dc57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176126dc57604052565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61012060031982011261242e5760043573ffffffffffffffffffffffffffffffffffffffff8116810361242e579160a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83011261242e5760249160c4359160e43591610104359067ffffffffffffffff821161242e576125989160040161245a565b60031960a091011261242e576040519061286282612726565b8160043573ffffffffffffffffffffffffffffffffffffffff8116810361242e57815260243573ffffffffffffffffffffffffffffffffffffffff8116810361242e57602082015260443562ffffff8116810361242e5760408201526064358060020b810361242e5760608201526084359073ffffffffffffffffffffffffffffffffffffffff8216820361242e5760800152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60a091011261242e576040519061292e82612726565b8160243573ffffffffffffffffffffffffffffffffffffffff8116810361242e57815260443573ffffffffffffffffffffffffffffffffffffffff8116810361242e57602082015260643562ffffff8116810361242e5760408201526084358060020b810361242e57606082015260a4359073ffffffffffffffffffffffffffffffffffffffff8216820361242e5760800152565b91908260a091031261242e576040516129db81612726565b6080612a278183956129ec816124ce565b85526129fa602082016124ce565b6020860152612a0b604082016126b0565b6040860152612a1c606082016125cc565b6060860152016124ce565b910152565b60043573ffffffffffffffffffffffffffffffffffffffff811680910361242e57815260243573ffffffffffffffffffffffffffffffffffffffff811680910361242e57602082015260443562ffffff811680910361242e5760408201526064358060020b80910361242e5760608201526084359073ffffffffffffffffffffffffffffffffffffffff821680920361242e5760800152565b60243573ffffffffffffffffffffffffffffffffffffffff811680910361242e57815260443573ffffffffffffffffffffffffffffffffffffffff811680910361242e57602082015260643562ffffff811680910361242e5760408201526084358060020b80910361242e57606082015260a4359073ffffffffffffffffffffffffffffffffffffffff821680920361242e5760800152565b73ffffffffffffffffffffffffffffffffffffffff612bca6080809383612b84826124ce565b16865283612b94602083016124ce565b16602087015262ffffff612baa604083016126b0565b166040870152612bbc606082016125cc565b60020b6060870152016124ce565b16910152565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b60405190612c1b82612726565b5f6080838281528260208201528260408201528260608201520152565b805f52600460205260ff60405f205416155f14612c5457505f90565b805f52600560205260405f205460788101809111612cd957421015612c795750600190565b6020817f5fd57032db0db564bdfe22ff91033c11d319a1e6b3677e723545a7ba3e304b93925f526004825260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008154169055604051908152a15f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60a0612d133660046129c3565b205f52600360205273ffffffffffffffffffffffffffffffffffffffff60405f2054163303612f1157612d4c60a061139f3660046129c3565b15612f0e5762ffffff8116620c35008111612f0a5760a0612d6e3660046129c3565b20604051602081019182526006604082015260408152612d8f606082612742565b5190209073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b1691604051907f1e2eaeaf0000000000000000000000000000000000000000000000000000000082526004820152602081602481865afa8015612423575f90612ed5575b62ffffff915060d01c16811115612ed057813b1561242e575f809260c4604051809581937f52759651000000000000000000000000000000000000000000000000000000008352612e62600484016004612b5e565b8660a48401525af18015612423577f05275af3b70c3443abf635099e048f0c9808e8553eb2c8d8ba5ba5e827df209593604093612ea492612ec0575b50613b46565b60a0612eb13660046129c3565b209082519182526020820152a1565b5f612eca91612742565b5f612e9e565b505050565b506020813d602011612f02575b81612eef60209383612742565b8101031261242e5762ffffff9051612e0d565b3d9150612ee2565b5050565b50565b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b60c43580151580910361242e57815260e4356020820152610104359073ffffffffffffffffffffffffffffffffffffffff821680920361242e5760400152565b60020b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008114612cd9575f0390565b81601f8201121561242e5780359067ffffffffffffffff82116126dc5760405192612ffb601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200185612742565b8284526020838301011161242e57815f926020809301838601378301015290565b949190613027612c0e565b505f9373ffffffffffffffffffffffffffffffffffffffff8216801580156139fe575b6139d65773ffffffffffffffffffffffffffffffffffffffff908189161092835f146139cf57885b84156139c857505b81604051996130888b612726565b16895216602088015262800000604088015260020b606087015230608087015260a086205f52600160205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff83161790555f146139ba575b60020b8060ff1d8181011890620d89e8821161398f57600182167001fffcb933bd6fad37aa2d162d1a59400102700100000000000000000000000000000000189160028116613973575b60048116613957575b6008811661393b575b6010811661391f575b60208116613903575b604081166138e7575b608081166138cb575b61010081166138af575b6102008116613893575b6104008116613877575b610800811661385b575b611000811661383f575b6120008116613823575b6140008116613807575b61800081166137eb575b6201000081166137cf575b6202000081166137b4575b620400008116613799575b6208000016613780575b5f12613759575b73ffffffffffffffffffffffffffffffffffffffff63ffffffff604051927f6276cbbe000000000000000000000000000000000000000000000000000000008452613283600485018973ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b0160201c1660a482015260208160c4815f73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b165af1801561242357613720575b5060a084205f5260056020524260405f205582019160208184031261242e5780359067ffffffffffffffff821161242e570160608184031261242e57604051906060820182811067ffffffffffffffff8211176126dc5760405261333b816124ce565b8252602081013567ffffffffffffffff811161242e578461335d918301612fa8565b9360208301948552604082013567ffffffffffffffff811161242e576133839201612fa8565b9081604082015260408280518101031261242e576040516133a3816126c0565b620186a062ffffff6133c660406133bc60208801613bad565b9687865201613bad565b946020840195865216116136f857620186a062ffffff845116116136d05760608173ffffffffffffffffffffffffffffffffffffffff9462ffffff7fde0cc41485843685947cd8856be361f8038580ba3916da280a9e36d8cc49998294511660a08a205f52600860205262ffffff60405f2091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082541617905562ffffff81511660a08a205f52600960205262ffffff60405f2091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082541617905562ffffff8060a08b209351169151169060405192835260208301526040820152a151169151826134d5575b50505090565b6040517fa42976dc00000000000000000000000000000000000000000000000000000000815283600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b614167d79adbaa9ba35d05fe1d5542d7316ccaa165afa908115612423575f916136b1575b50156136895760a084205f52600160205260ff60405f205416833b1561242e5761360e915f9160405193849283927fd513493a0000000000000000000000000000000000000000000000000000000084526135f6600485018b73ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b151560a484015260e060c484015260e4830190612783565b038183875af1801561242357613675575b50604073ffffffffffffffffffffffffffffffffffffffff9160a08520815260066020522091167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790555f80806134cf565b61368191505f90612742565b5f604061361f565b7fcb5fe3ca000000000000000000000000000000000000000000000000000000005f5260045ffd5b6136ca915060203d6020116118ce576118c08183612742565b5f61354e565b7fb2bb455f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e121198000000000000000000000000000000000000000000000000000000005f5260045ffd5b6020813d602011613751575b8161373960209383612742565b8101031261242e57518060020b8103156132d8575f80fd5b3d915061372c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff046131eb565b6b048a170391f7dc42444e8fa290910260801c906131e4565b6d2216e584f5fa1ea926041bedfe9890920260801c916131da565b916e5d6af8dedb81196699c329225ee6040260801c916131cf565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c916131c4565b916f31be135f97d08fd981231505542fcfa60260801c916131b9565b916f70d869a156d2a1b890bb3df62baf32f70260801c916131af565b916fa9f746462d870fdf8a65dc1f90e061e50260801c916131a5565b916fd097f3bdfd2022b8845ad8f792aa58250260801c9161319b565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91613191565b916ff3392b0822b70005940c7a398e4b70f30260801c91613187565b916ff987a7253ac413176f2b074cf7815e540260801c9161317d565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91613173565b916ffe5dee046a99a2a811c461f1969c30530260801c91613169565b916fff2ea16466c96a3843ec78b326b528610260801c91613160565b916fff973b41fa98c081472e6896dfb254c00260801c91613157565b916fffcb9843d60f6159c9db58835c9266440260801c9161314e565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91613145565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c9161313c565b916ffff97272373d413259a46990580e213a0260801c91613133565b7f8b86327a000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6139c390612f79565b6130e9565b905061307a565b8098613072565b7ff4a44333000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073ffffffffffffffffffffffffffffffffffffffff88161561304a565b60c435801515810361242e5790565b6fffffffffffffffffffffffffffffffff670de0b6b3a7640000911602906fffffffffffffffffffffffffffffffff8216918203612cd957565b906fffffffffffffffffffffffffffffffff16908115613a95576fffffffffffffffffffffffffffffffff160490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b81810292915f82127f8000000000000000000000000000000000000000000000000000000000000000821416612cd9578184051490151715612cd957565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361242e5790565b60443573ffffffffffffffffffffffffffffffffffffffff8116810361242e5790565b62ffffff1662030d4081029080820462030d401490151715612cd957620f424062ffffff9104167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000005f5416175f55565b90600f0b90600f0b029081600f0b918203612cd957565b519062ffffff8216820361242e57565b9081602091031261242e5751801515810361242e5790565b613be03660246129c3565b60a05f91205f52600160205260ff60405f2054165f14613e1a5760443573ffffffffffffffffffffffffffffffffffffffff8116810361242e575b73ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b16911691604051917efdd58e000000000000000000000000000000000000000000000000000000008352306004840152836024840152602083604481845afa928315612423575f93613de6575b508215613de057803b1561242e576040517ff5298aca00000000000000000000000000000000000000000000000000000000815230600482015260248101859052604481018490525f8160648183865af1801561242357613dcb575b50803b156103df578180916064604051809481937f0b0d9c0900000000000000000000000000000000000000000000000000000000835289600484015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000004f1a284168743759be6554f607a10cebdb777601660248401528860448401525af180156103a457613db6575b505060207f175b790d44599ca70432cc8d1406504cb3a28fc13ff995c06dde6663412b211a91604051908152a2565b613dc1828092612742565b6101ea5780613d87565b613dd89192505f90612742565b5f905f613cfb565b50505050565b9092506020813d602011613e12575b81613e0260209383612742565b8101031261242e5751915f613c9f565b3d9150613df5565b60243573ffffffffffffffffffffffffffffffffffffffff81168114613c1b575f80fd5b60a0613e4b3660246129c3565b205f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f20541615613f565760a0613e803660246129c3565b205f52600160205260ff60405f2054165f14613f585760243573ffffffffffffffffffffffffffffffffffffffff81169081810361242e57505b60a0613ec73660246129c3565b205f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f20541690813b1561242e5773ffffffffffffffffffffffffffffffffffffffff60245f928360405195869485937f86b0c83f0000000000000000000000000000000000000000000000000000000085521660048401525af1801561242357613f4c5750565b5f613f5691612742565b565b60443573ffffffffffffffffffffffffffffffffffffffff81169081810361242e5750613eba565b60405190613f8d826126c0565b60606020838281520152565b60208183031261242e5780359067ffffffffffffffff821161242e570160408183031261242e5760405191613fcd836126c0565b813567ffffffffffffffff811161242e5781613fea918401612fa8565b8352602082013567ffffffffffffffff811161242e5761400a9201612fa8565b602082015290565b614035906140278360801d8260801d0361404f565b92600f0b90600f0b0361404f565b6fffffffffffffffffffffffffffffffff169060801b1790565b9081600f0b91820361405d57565b7f93dafdf1000000000000000000000000000000000000000000000000000000005f5260045ffd
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b00000000000000000000000004f1a284168743759be6554f607a10cebdb77760000000000000000000000000b614167d79adbaa9ba35d05fe1d5542d7316ccaa0000000000000000000000004200000000000000000000000000000000000006
-----Decoded View---------------
Arg [0] : _poolManager (address): 0x498581fF718922c3f8e6A244956aF099B2652b2b
Arg [1] : _factory (address): 0x04F1a284168743759BE6554f607a10CEBdB77760
Arg [2] : _poolExtensionAllowlist (address): 0xb614167d79aDBaA9BA35d05fE1d5542d7316Ccaa
Arg [3] : _weth (address): 0x4200000000000000000000000000000000000006
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000498581ff718922c3f8e6a244956af099b2652b2b
Arg [1] : 00000000000000000000000004f1a284168743759be6554f607a10cebdb77760
Arg [2] : 000000000000000000000000b614167d79adbaa9ba35d05fe1d5542d7316ccaa
Arg [3] : 0000000000000000000000004200000000000000000000000000000000000006
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

