UNPKG

@perp/hottub-deployments

Version:

Perpetual Protocol Hot Tub contract artifacts (ABIs) and deployed addresses

537 lines (536 loc) 38.3 kB
{ "_format": "hh-sol-artifact-1", "contractName": "KtbArbitrageurDispatcher", "sourceName": "contracts/KtbArbitrageurDispatcher.sol", "abi": [ { "inputs": [], "name": "BEETHOVEN_STABLE_POOL_ID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BEETHOVEN_VAULT", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CURVE_3POOL", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CURVE_4POOL", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CURVE_FACTORY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CURVE_REGISTRY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MUMMY_ROUTER", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "UNISWAP_V3_ROUTER", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "VELODROME_V1_ROUTER", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "VELODROME_V2_FACTORY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "VELODROME_V2_ROUTER", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "internalType": "bytes", "name": "comboData", "type": "bytes" } ], "name": "swapCombo", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnBeethovenStablePool", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnCurve3Pool", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnCurve4Pool", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnMummy", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnUniswapV3Pool100", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnUniswapV3Pool10000", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnUniswapV3Pool3000", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnUniswapV3Pool500", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnVelodromeV1NonStable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnVelodromeV1Stable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnVelodromeV2NonStable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenIn", "type": "address" }, { "internalType": "address", "name": "tokenOut", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "swapOnVelodromeV2Stable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50611a51806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063b942717b116100c3578063e8fb816c1161007c578063e8fb816c1461027e578063ea182fca14610286578063efc185a51461028e578063f1a5df83146102a1578063f4427f93146102b4578063fdfa47ff146102c757610158565b8063b942717b14610222578063c2fc86d01461022a578063cf526b901461023d578063d01bd7c514610250578063d21d0f5414610258578063df0d9f581461026b57610158565b8063407bbdb211610115578063407bbdb2146101dc57806341c64a2f146101e457806343caab69146101ec57806349b4c571146101ff5780637dceaec914610207578063acc9abd21461020f57610158565b80630c3bd10f1461015d57806312fcd70b14610186578063190f4310146101995780631e09d384146101ae5780632b5445dd146101c157806332fd6342146101c9575b600080fd5b61017061016b366004611432565b6102cf565b60405161017d9190611796565b60405180910390f35b610170610194366004611432565b6102e6565b6101a16102f6565b60405161017d91906116b9565b6101706101bc366004611432565b61030e565b6101a161031e565b6101706101d7366004611432565b610336565b6101a16104dd565b6101a16104f5565b6101706101fa366004611432565b61050d565b6101706106eb565b6101a161070f565b61017061021d366004611432565b610727565b6101a1610929565b610170610238366004611432565b610941565b61017061024b366004611432565b610950565b6101a1610ad2565b610170610266366004611432565b610aea565b610170610279366004611432565b610af9565b6101a1610b09565b6101a1610b21565b61017061029c366004611432565b610b39565b6101706102af366004611432565b610b48565b6101706102c236600461146d565b610b57565b6101a1610d06565b60006102de8484846001610d1e565b949350505050565b60006102de84846101f485610f43565b732db0e83599a91b508ac268a6197b8b14f5e7284081565b60006102de848461271085610f43565b731337bedc9d22ecbe766df105c9623922a27963ec81565b60405163095ea7b360e01b81526000906001600160a01b0385169063095ea7b39061037b9073ba12222222228d8ba445958a75a0704d566bf2c89086906004016116f1565b602060405180830381600087803b15801561039557600080fd5b505af11580156103a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cd91906115b1565b506040805160c0810182527f373643b17cd80e37675c8c98ef774efe6ca0b4de00000000000000000000001c8152600060208083018290526001600160a01b0380891684860152871660608085019190915260808085018890528551808401875284815260a0860152855190810186523080825292810184905280860192909252810182905292516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c8936352bbbe299361048b939092429060040161188c565b602060405180830381600087803b1580156104a557600080fd5b505af11580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102de9190611614565b73f1046053aa5682b4f9a81b5481394da16be5ff5a81565b73e592427a0aece92de3edee1f18e0157c0586156481565b60405163095ea7b360e01b81526000906001600160a01b0385169063095ea7b3906105529073061b87122ed14b9526a813209c8a59a633257bab9086906004016116f1565b602060405180830381600087803b15801561056c57600080fd5b505af1158015610580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a491906115b1565b5060405163eb85226d60e01b81526000908190732db0e83599a91b508ac268a6197b8b14f5e728409063eb85226d906105f99073061b87122ed14b9526a813209c8a59a633257bab908a908a9060040161170a565b606060405180830381600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064b91906115d2565b50604051635320bf6b60e11b8152919350915073061b87122ed14b9526a813209c8a59a633257bab9063a6417ed69061068f9085908590899060009060040161179f565b602060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e19190611614565b9695505050505050565b7f373643b17cd80e37675c8c98ef774efe6ca0b4de00000000000000000000001c81565b73ba12222222228d8ba445958a75a0704d566bf2c881565b60405163095ea7b360e01b81526000906001600160a01b0385169063095ea7b39061076c907368d1ca32aee9a73534429d8376743bf222ff18709086906004016116f1565b602060405180830381600087803b15801561078657600080fd5b505af115801561079a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107be91906115b1565b5060408051600280825260608201835260009260208301908036833701905050905084816000815181106107ee57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050838160018151811061081c57fe5b6001600160a01b0390921660209283029190910190910152604051633011f4b360e11b81527368d1ca32aee9a73534429d8376743bf222ff187090636023e966906108729084908790600090309060040161172d565b600060405180830381600087803b15801561088c57600080fd5b505af11580156108a0573d6000803e3d6000fd5b50506040516370a0823160e01b81526001600160a01b03871692506370a0823191506108d09030906004016116b9565b60206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611614565b95945050505050565b73c5cfada84e902ad92dd40194f0883ad49639b02381565b60006102de8484846001611088565b60405163095ea7b360e01b81526000906001600160a01b0385169063095ea7b39061099590731337bedc9d22ecbe766df105c9623922a27963ec9086906004016116f1565b602060405180830381600087803b1580156109af57600080fd5b505af11580156109c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e791906115b1565b5060405163eb85226d60e01b8152600090819073c5cfada84e902ad92dd40194f0883ad49639b0239063eb85226d90610a3c90731337bedc9d22ecbe766df105c9623922a27963ec908a908a9060040161170a565b606060405180830381600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e91906115d2565b50604051630f7c084960e21b81529193509150731337bedc9d22ecbe766df105c9623922a27963ec90633df021249061068f9085908590899060009060040161179f565b73061b87122ed14b9526a813209c8a59a633257bab81565b60006102de8484846000610d1e565b60006102de8484610bb885610f43565b739c12939390052919af3155f41bf4160fd3666a6f81565b73a062ae8a9c5e11aaa026fc2670b0d65ccc8b285881565b60006102de8484846000611088565b60006102de8484606485610f43565b6040516323b872dd60e01b81526000906001600160a01b038716906323b872dd90610b8a903390309089906004016116cd565b602060405180830381600087803b158015610ba457600080fd5b505af1158015610bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdc91906115b1565b506044820480610c075760405162461bcd60e51b8152600401610bfe90611803565b60405180910390fd5b60008080805b848160ff161015610c45576044810288018035945060048101359350602401359150610c3b8484848c6111db565b9850600101610c0d565b50886001600160a01b0316816001600160a01b031614610c775760405162461bcd60e51b8152600401610bfe906117c2565b60405163a9059cbb60e01b81526001600160a01b038a169063a9059cbb90610ca59033908c906004016116f1565b602060405180830381600087803b158015610cbf57600080fd5b505af1158015610cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf791906115b1565b50969998505050505050505050565b7368d1ca32aee9a73534429d8376743bf222ff187081565b60405163095ea7b360e01b81526000906001600160a01b0386169063095ea7b390610d639073a062ae8a9c5e11aaa026fc2670b0d65ccc8b28589087906004016116f1565b602060405180830381600087803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db591906115b1565b50604080516001808252818301909252600091816020015b610dd56113ad565b815260200190600190039081610dcd5790505090506040518060800160405280876001600160a01b03168152602001866001600160a01b03168152602001841515815260200173f1046053aa5682b4f9a81b5481394da16be5ff5a6001600160a01b031681525081600081518110610e4957fe5b602090810291909101015260405163cac88ea960e01b815273a062ae8a9c5e11aaa026fc2670b0d65ccc8b28589063cac88ea990610e949087906000908690309042906004016119a6565b600060405180830381600087803b158015610eae57600080fd5b505af1158015610ec2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eea9190810190611503565b506040516370a0823160e01b81526001600160a01b038616906370a0823190610f179030906004016116b9565b60206040518083038186803b158015610f2f57600080fd5b505afa1580156106bd573d6000803e3d6000fd5b60405163095ea7b360e01b81526000906001600160a01b0386169063095ea7b390610f889073e592427a0aece92de3edee1f18e0157c058615649086906004016116f1565b602060405180830381600087803b158015610fa257600080fd5b505af1158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda91906115b1565b5060408051610100810182526001600160a01b0387811682528616602082015262ffffff85168183015230606082015242608082015260a08101849052600060c0820181905260e0820152905163414bf38960e01b815273e592427a0aece92de3edee1f18e0157c058615649163414bf3899161105a9190600401611823565b602060405180830381600087803b15801561107457600080fd5b505af11580156108fc573d6000803e3d6000fd5b60405163095ea7b360e01b81526000906001600160a01b0386169063095ea7b3906110cd90739c12939390052919af3155f41bf4160fd3666a6f9087906004016116f1565b602060405180830381600087803b1580156110e757600080fd5b505af11580156110fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111f91906115b1565b50604080516001808252818301909252600091816020015b61113f6113d4565b8152602001906001900390816111375790505090506040518060600160405280876001600160a01b03168152602001866001600160a01b031681526020018415158152508160008151811061119057fe5b6020908102919091010152604051631e82ecdb60e31b8152739c12939390052919af3155f41bf4160fd3666a6f9063f41766d890610e94908790600090869030904290600401611918565b6000806001600160e01b0319861663348743d560e21b141561120957611202858585610aea565b9050610920565b6001600160e01b03198616630c3bd10f60e01b141561122d576112028585856102cf565b6001600160e01b0319861663efc185a560e01b141561125157611202858585610b39565b6001600160e01b03198616630c2fc86d60e41b141561127557611202858585610941565b6001600160e01b0319861663078274e160e21b14156112995761120285858561030e565b6001600160e01b03198616631be1b3eb60e31b14156112bd57611202858585610af9565b6001600160e01b031986166312fcd70b60e01b14156112e1576112028585856102e6565b6001600160e01b0319861663f1a5df8360e01b141561130557611202858585610b48565b6001600160e01b031986166343caab6960e01b14156113295761120285858561050d565b6001600160e01b03198616630cf526b960e41b141561134d57611202858585610950565b6001600160e01b03198616635664d5e960e11b141561137157611202858585610727565b6001600160e01b0319861663197eb1a160e11b141561139557611202858585610336565b60405162461bcd60e51b8152600401610bfe906117e3565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080516060810182526000808252602082018190529181019190915290565b80356001600160a01b038116811461140b57600080fd5b919050565b8051801515811461140b57600080fd5b8051600f81900b811461140b57600080fd5b600080600060608486031215611446578283fd5b61144f846113f4565b925061145d602085016113f4565b9150604084013590509250925092565b600080600080600060808688031215611484578081fd5b61148d866113f4565b945061149b602087016113f4565b935060408601359250606086013567ffffffffffffffff808211156114be578283fd5b818801915088601f8301126114d1578283fd5b8135818111156114df578384fd5b8960208285010111156114f0578384fd5b9699959850939650602001949392505050565b60006020808385031215611515578182fd5b825167ffffffffffffffff8082111561152c578384fd5b818501915085601f83011261153f578384fd5b81518181111561154b57fe5b8381026040518582820101818110858211171561156457fe5b604052828152858101935084860182860187018a1015611582578788fd5b8795505b838610156115a4578051855260019590950194938601938601611586565b5098975050505050505050565b6000602082840312156115c2578081fd5b6115cb82611410565b9392505050565b6000806000606084860312156115e6578283fd5b6115ef84611420565b92506115fd60208501611420565b915061160b60408501611410565b90509250925092565b600060208284031215611625578081fd5b5051919050565b6001600160a01b03169052565b60008151808452815b8181101561165e57602081850181015186830182015201611642565b8181111561166f5782602083870101525b50601f01601f19169290920160200192915050565b80516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6080808252855190820181905260009060209060a0840190828901845b8281101561176f5781516001600160a01b03168452928401929084019060010161174a565b505050908301959095525060408101929092526001600160a01b0316606090910152919050565b90815260200190565b600f94850b81529290930b60208301526040820152606081019190915260800190565b6020808252600790820152664b41445f55544f60c81b604082015260600190565b6020808252600690820152654b41445f554d60d01b604082015260600190565b60208082526006908201526525a0a22fa62d60d11b604082015260600190565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff16908301526060808401518216908301526080808401519083015260a0838101519083015260c0808401519083015260e09283015116918101919091526101000190565b600060e08252855160e08301526020860151600281106118a857fe5b61010083015260408601516001600160a01b03908116610120840152606087015116610140830152608086015161016083015260a086015160c06101808401526118f66101a0840182611639565b9150506119066020830186611684565b60a082019390935260c0015292915050565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a019450855b8181101561198057855180516001600160a01b03908116855286820151168685015284015115158484015294840194606090920191600101611943565b505080945050505050611996606083018561162c565b8260808301529695505050505050565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a019450855b8181101561198057855180516001600160a01b03908116855286820151811687860152858201511515868601526060918201511690840152948401946080909201916001016119d156fea26469706673582212205622e8ff22aa1e6691c90964979c6d9127b69ea9e9816b5d17b6240a27a2638664736f6c63430007060033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063b942717b116100c3578063e8fb816c1161007c578063e8fb816c1461027e578063ea182fca14610286578063efc185a51461028e578063f1a5df83146102a1578063f4427f93146102b4578063fdfa47ff146102c757610158565b8063b942717b14610222578063c2fc86d01461022a578063cf526b901461023d578063d01bd7c514610250578063d21d0f5414610258578063df0d9f581461026b57610158565b8063407bbdb211610115578063407bbdb2146101dc57806341c64a2f146101e457806343caab69146101ec57806349b4c571146101ff5780637dceaec914610207578063acc9abd21461020f57610158565b80630c3bd10f1461015d57806312fcd70b14610186578063190f4310146101995780631e09d384146101ae5780632b5445dd146101c157806332fd6342146101c9575b600080fd5b61017061016b366004611432565b6102cf565b60405161017d9190611796565b60405180910390f35b610170610194366004611432565b6102e6565b6101a16102f6565b60405161017d91906116b9565b6101706101bc366004611432565b61030e565b6101a161031e565b6101706101d7366004611432565b610336565b6101a16104dd565b6101a16104f5565b6101706101fa366004611432565b61050d565b6101706106eb565b6101a161070f565b61017061021d366004611432565b610727565b6101a1610929565b610170610238366004611432565b610941565b61017061024b366004611432565b610950565b6101a1610ad2565b610170610266366004611432565b610aea565b610170610279366004611432565b610af9565b6101a1610b09565b6101a1610b21565b61017061029c366004611432565b610b39565b6101706102af366004611432565b610b48565b6101706102c236600461146d565b610b57565b6101a1610d06565b60006102de8484846001610d1e565b949350505050565b60006102de84846101f485610f43565b732db0e83599a91b508ac268a6197b8b14f5e7284081565b60006102de848461271085610f43565b731337bedc9d22ecbe766df105c9623922a27963ec81565b60405163095ea7b360e01b81526000906001600160a01b0385169063095ea7b39061037b9073ba12222222228d8ba445958a75a0704d566bf2c89086906004016116f1565b602060405180830381600087803b15801561039557600080fd5b505af11580156103a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cd91906115b1565b506040805160c0810182527f373643b17cd80e37675c8c98ef774efe6ca0b4de00000000000000000000001c8152600060208083018290526001600160a01b0380891684860152871660608085019190915260808085018890528551808401875284815260a0860152855190810186523080825292810184905280860192909252810182905292516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c8936352bbbe299361048b939092429060040161188c565b602060405180830381600087803b1580156104a557600080fd5b505af11580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102de9190611614565b73f1046053aa5682b4f9a81b5481394da16be5ff5a81565b73e592427a0aece92de3edee1f18e0157c0586156481565b60405163095ea7b360e01b81526000906001600160a01b0385169063095ea7b3906105529073061b87122ed14b9526a813209c8a59a633257bab9086906004016116f1565b602060405180830381600087803b15801561056c57600080fd5b505af1158015610580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a491906115b1565b5060405163eb85226d60e01b81526000908190732db0e83599a91b508ac268a6197b8b14f5e728409063eb85226d906105f99073061b87122ed14b9526a813209c8a59a633257bab908a908a9060040161170a565b606060405180830381600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064b91906115d2565b50604051635320bf6b60e11b8152919350915073061b87122ed14b9526a813209c8a59a633257bab9063a6417ed69061068f9085908590899060009060040161179f565b602060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e19190611614565b9695505050505050565b7f373643b17cd80e37675c8c98ef774efe6ca0b4de00000000000000000000001c81565b73ba12222222228d8ba445958a75a0704d566bf2c881565b60405163095ea7b360e01b81526000906001600160a01b0385169063095ea7b39061076c907368d1ca32aee9a73534429d8376743bf222ff18709086906004016116f1565b602060405180830381600087803b15801561078657600080fd5b505af115801561079a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107be91906115b1565b5060408051600280825260608201835260009260208301908036833701905050905084816000815181106107ee57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050838160018151811061081c57fe5b6001600160a01b0390921660209283029190910190910152604051633011f4b360e11b81527368d1ca32aee9a73534429d8376743bf222ff187090636023e966906108729084908790600090309060040161172d565b600060405180830381600087803b15801561088c57600080fd5b505af11580156108a0573d6000803e3d6000fd5b50506040516370a0823160e01b81526001600160a01b03871692506370a0823191506108d09030906004016116b9565b60206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611614565b95945050505050565b73c5cfada84e902ad92dd40194f0883ad49639b02381565b60006102de8484846001611088565b60405163095ea7b360e01b81526000906001600160a01b0385169063095ea7b39061099590731337bedc9d22ecbe766df105c9623922a27963ec9086906004016116f1565b602060405180830381600087803b1580156109af57600080fd5b505af11580156109c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e791906115b1565b5060405163eb85226d60e01b8152600090819073c5cfada84e902ad92dd40194f0883ad49639b0239063eb85226d90610a3c90731337bedc9d22ecbe766df105c9623922a27963ec908a908a9060040161170a565b606060405180830381600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e91906115d2565b50604051630f7c084960e21b81529193509150731337bedc9d22ecbe766df105c9623922a27963ec90633df021249061068f9085908590899060009060040161179f565b73061b87122ed14b9526a813209c8a59a633257bab81565b60006102de8484846000610d1e565b60006102de8484610bb885610f43565b739c12939390052919af3155f41bf4160fd3666a6f81565b73a062ae8a9c5e11aaa026fc2670b0d65ccc8b285881565b60006102de8484846000611088565b60006102de8484606485610f43565b6040516323b872dd60e01b81526000906001600160a01b038716906323b872dd90610b8a903390309089906004016116cd565b602060405180830381600087803b158015610ba457600080fd5b505af1158015610bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdc91906115b1565b506044820480610c075760405162461bcd60e51b8152600401610bfe90611803565b60405180910390fd5b60008080805b848160ff161015610c45576044810288018035945060048101359350602401359150610c3b8484848c6111db565b9850600101610c0d565b50886001600160a01b0316816001600160a01b031614610c775760405162461bcd60e51b8152600401610bfe906117c2565b60405163a9059cbb60e01b81526001600160a01b038a169063a9059cbb90610ca59033908c906004016116f1565b602060405180830381600087803b158015610cbf57600080fd5b505af1158015610cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf791906115b1565b50969998505050505050505050565b7368d1ca32aee9a73534429d8376743bf222ff187081565b60405163095ea7b360e01b81526000906001600160a01b0386169063095ea7b390610d639073a062ae8a9c5e11aaa026fc2670b0d65ccc8b28589087906004016116f1565b602060405180830381600087803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db591906115b1565b50604080516001808252818301909252600091816020015b610dd56113ad565b815260200190600190039081610dcd5790505090506040518060800160405280876001600160a01b03168152602001866001600160a01b03168152602001841515815260200173f1046053aa5682b4f9a81b5481394da16be5ff5a6001600160a01b031681525081600081518110610e4957fe5b602090810291909101015260405163cac88ea960e01b815273a062ae8a9c5e11aaa026fc2670b0d65ccc8b28589063cac88ea990610e949087906000908690309042906004016119a6565b600060405180830381600087803b158015610eae57600080fd5b505af1158015610ec2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eea9190810190611503565b506040516370a0823160e01b81526001600160a01b038616906370a0823190610f179030906004016116b9565b60206040518083038186803b158015610f2f57600080fd5b505afa1580156106bd573d6000803e3d6000fd5b60405163095ea7b360e01b81526000906001600160a01b0386169063095ea7b390610f889073e592427a0aece92de3edee1f18e0157c058615649086906004016116f1565b602060405180830381600087803b158015610fa257600080fd5b505af1158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda91906115b1565b5060408051610100810182526001600160a01b0387811682528616602082015262ffffff85168183015230606082015242608082015260a08101849052600060c0820181905260e0820152905163414bf38960e01b815273e592427a0aece92de3edee1f18e0157c058615649163414bf3899161105a9190600401611823565b602060405180830381600087803b15801561107457600080fd5b505af11580156108fc573d6000803e3d6000fd5b60405163095ea7b360e01b81526000906001600160a01b0386169063095ea7b3906110cd90739c12939390052919af3155f41bf4160fd3666a6f9087906004016116f1565b602060405180830381600087803b1580156110e757600080fd5b505af11580156110fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111f91906115b1565b50604080516001808252818301909252600091816020015b61113f6113d4565b8152602001906001900390816111375790505090506040518060600160405280876001600160a01b03168152602001866001600160a01b031681526020018415158152508160008151811061119057fe5b6020908102919091010152604051631e82ecdb60e31b8152739c12939390052919af3155f41bf4160fd3666a6f9063f41766d890610e94908790600090869030904290600401611918565b6000806001600160e01b0319861663348743d560e21b141561120957611202858585610aea565b9050610920565b6001600160e01b03198616630c3bd10f60e01b141561122d576112028585856102cf565b6001600160e01b0319861663efc185a560e01b141561125157611202858585610b39565b6001600160e01b03198616630c2fc86d60e41b141561127557611202858585610941565b6001600160e01b0319861663078274e160e21b14156112995761120285858561030e565b6001600160e01b03198616631be1b3eb60e31b14156112bd57611202858585610af9565b6001600160e01b031986166312fcd70b60e01b14156112e1576112028585856102e6565b6001600160e01b0319861663f1a5df8360e01b141561130557611202858585610b48565b6001600160e01b031986166343caab6960e01b14156113295761120285858561050d565b6001600160e01b03198616630cf526b960e41b141561134d57611202858585610950565b6001600160e01b03198616635664d5e960e11b141561137157611202858585610727565b6001600160e01b0319861663197eb1a160e11b141561139557611202858585610336565b60405162461bcd60e51b8152600401610bfe906117e3565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080516060810182526000808252602082018190529181019190915290565b80356001600160a01b038116811461140b57600080fd5b919050565b8051801515811461140b57600080fd5b8051600f81900b811461140b57600080fd5b600080600060608486031215611446578283fd5b61144f846113f4565b925061145d602085016113f4565b9150604084013590509250925092565b600080600080600060808688031215611484578081fd5b61148d866113f4565b945061149b602087016113f4565b935060408601359250606086013567ffffffffffffffff808211156114be578283fd5b818801915088601f8301126114d1578283fd5b8135818111156114df578384fd5b8960208285010111156114f0578384fd5b9699959850939650602001949392505050565b60006020808385031215611515578182fd5b825167ffffffffffffffff8082111561152c578384fd5b818501915085601f83011261153f578384fd5b81518181111561154b57fe5b8381026040518582820101818110858211171561156457fe5b604052828152858101935084860182860187018a1015611582578788fd5b8795505b838610156115a4578051855260019590950194938601938601611586565b5098975050505050505050565b6000602082840312156115c2578081fd5b6115cb82611410565b9392505050565b6000806000606084860312156115e6578283fd5b6115ef84611420565b92506115fd60208501611420565b915061160b60408501611410565b90509250925092565b600060208284031215611625578081fd5b5051919050565b6001600160a01b03169052565b60008151808452815b8181101561165e57602081850181015186830182015201611642565b8181111561166f5782602083870101525b50601f01601f19169290920160200192915050565b80516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6080808252855190820181905260009060209060a0840190828901845b8281101561176f5781516001600160a01b03168452928401929084019060010161174a565b505050908301959095525060408101929092526001600160a01b0316606090910152919050565b90815260200190565b600f94850b81529290930b60208301526040820152606081019190915260800190565b6020808252600790820152664b41445f55544f60c81b604082015260600190565b6020808252600690820152654b41445f554d60d01b604082015260600190565b60208082526006908201526525a0a22fa62d60d11b604082015260600190565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff16908301526060808401518216908301526080808401519083015260a0838101519083015260c0808401519083015260e09283015116918101919091526101000190565b600060e08252855160e08301526020860151600281106118a857fe5b61010083015260408601516001600160a01b03908116610120840152606087015116610140830152608086015161016083015260a086015160c06101808401526118f66101a0840182611639565b9150506119066020830186611684565b60a082019390935260c0015292915050565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a019450855b8181101561198057855180516001600160a01b03908116855286820151168685015284015115158484015294840194606090920191600101611943565b505080945050505050611996606083018561162c565b8260808301529695505050505050565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a019450855b8181101561198057855180516001600160a01b03908116855286820151811687860152858201511515868601526060918201511690840152948401946080909201916001016119d156fea26469706673582212205622e8ff22aa1e6691c90964979c6d9127b69ea9e9816b5d17b6240a27a2638664736f6c63430007060033", "linkReferences": {}, "deployedLinkReferences": {} }