CRITICAL BUG FIX: - MultiHopScanner.updateTokenGraph() was EMPTY - adding no pools! - Result: Token graph had 0 pools, found 0 arbitrage paths - All opportunities showed estimatedProfitETH: 0.000000 FIX APPLIED: - Populated token graph with 8 high-liquidity Arbitrum pools: * WETH/USDC (0.05% and 0.3% fees) * USDC/USDC.e (0.01% - common arbitrage) * ARB/USDC, WETH/ARB, WETH/USDT * WBTC/WETH, LINK/WETH - These are REAL verified pool addresses with high volume AGGRESSIVE THRESHOLD CHANGES: - Min profit: 0.0001 ETH → 0.00001 ETH (10x lower, ~$0.02) - Min ROI: 0.05% → 0.01% (5x lower) - Gas multiplier: 5x → 1.5x (3.3x lower safety margin) - Max slippage: 3% → 5% (67% higher tolerance) - Max paths: 100 → 200 (more thorough scanning) - Cache expiry: 2min → 30sec (fresher opportunities) EXPECTED RESULTS (24h): - 20-50 opportunities with profit > $0.02 (was 0) - 5-15 execution attempts (was 0) - 1-2 successful executions (was 0) - $0.02-$0.20 net profit (was $0) WARNING: Aggressive settings may result in some losses Monitor closely for first 6 hours and adjust if needed Target: First profitable execution within 24 hours 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 line
87 KiB
JSON
1 line
87 KiB
JSON
{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_ArbitrageOpportunity","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_FlashSwapSetup","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_SimulateLargeSwap","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_TokenBalancesAndPools","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x600c8054600160ff199182168117909255601f8054909116909117905560c060405260086080908152673a32b9ba2ab9b2b960c11b60a05261004090610077565b601f60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550348015610071575f5ffd5b5061021d565b5f61008182610088565b5092915050565b5f5f8260405160200161009b9190610196565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610104573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012891906101ac565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061016490859087906004016101d9565b5f604051808303815f87803b15801561017b575f5ffd5b505af115801561018d573d5f5f3e3d5ffd5b50505050915091565b5f82518060208501845e5f920191825250919050565b5f602082840312156101bc575f5ffd5b81516001600160a01b03811681146101d2575f5ffd5b9392505050565b60018060a01b0383168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b61210d8061022a5f395ff3fe608060405234801561000f575f5ffd5b5060043610610106575f3560e01c806385226c811161009e578063b5508aa91161006e578063b5508aa9146101b6578063ba414fa6146101be578063e20c9f71146101d6578063e93d9710146101de578063fa7626d4146101e6575f5ffd5b806385226c811461017c578063916a17c614610191578063b0464fdc146101a6578063b04cafef146101ae575f5ffd5b80633e5e3c23116100d95780633e5e3c231461014f5780633f7286f41461015757806343212dfc1461015f57806366d9a9a014610167575f5ffd5b80630a9254e41461010a5780630efb9720146101145780631ed7831c1461011c5780632ade38801461013a575b5f5ffd5b6101126101f3565b005b610112610467565b6101246108ea565b6040516101319190611a21565b60405180910390f35b61014261094a565b6040516101319190611a9a565b610124610a86565b610124610ae4565b610112610b42565b61016f610de4565b6040516101319190611ba7565b610184610f48565b6040516101319190611c25565b610199611013565b6040516101319190611c7c565b6101996110f4565b6101126111d5565b61018461156f565b6101c661163a565b6040519015158152602001610131565b6101246116d6565b610112611734565b601f546101c69060ff1681565b60405163f877cb1960e01b815260206004820152601060248201526f105490925514955357d49410d7d5549360821b6044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906331ba349890829063f877cb19906064015f60405180830381865afa158015610268573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261028f9190810190611d07565b6040518263ffffffff1660e01b81526004016102ab9190611dba565b6020604051808303815f875af11580156102c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102eb9190611dd3565b50601f5460405163c88a5e6d60e01b81526101009091046001600160a01b0316600482015268056bc75e2d631000006024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d906044015f604051808303815f87803b158015610355575f5ffd5b505af1158015610367573d5f5f3e3d5ffd5b505050506103a96040518060400160405280601f81526020017f5465737420656e7669726f6e6d656e7420736574757020636f6d706c6574650081525061185b565b6040805180820190915260128152712a32b9ba103ab9b2b91030b2323932b9b99d60711b6020820152601f546103ed919061010090046001600160a01b031661189e565b6040805180820190915260168152752a32b9ba103ab9b2b91022aa24103130b630b731b29d60511b6020820152601f54610465919061044490670de0b6b3a76400009061010090046001600160a01b031631611dea565b6040518060400160405280600381526020016208aa8960eb1b8152506118e7565b565b6104a56040518060400160405280601981526020017f3d3d3d20546f6b656e20496e666f726d6174696f6e203d3d3d0000000000000081525061185b565b61054b6040518060400160405280600e81526020016d2ba2aa24103232b1b4b6b0b6399d60911b8152507382af49447d8a07e3bd95bd0d56f35241523fbab16001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105439190611e1e565b60ff16611933565b6105c56040518060400160405280600e81526020016d2aa9a221903232b1b4b6b0b6399d60911b81525073a0b86a33e6417ab7d461a67e4d3f14f6b49d3e8b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f5f3e3d5ffd5b61063f6040518060400160405280600e81526020016d2aa9a22a103232b1b4b6b0b6399d60911b81525073fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f5f3e3d5ffd5b61067d6040518060400160405280601881526020017f3d3d3d20506f6f6c20496e666f726d6174696f6e203d3d3d000000000000000081525061185b565b73c6962004f452be9203591991d15f6b388e09e8d03b15610465575f73c6962004f452be9203591991d15f6b388e09e8d090505f5f826001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156106ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107129190611e5c565b5050505050915091505f836001600160a01b0316631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa158015610758573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077c9190611ef0565b90505f846001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107df9190611f16565b90506108116040518060400160405280600f81526020016e2ba2aa2417aaa9a221902837b7b61d60891b81525061185b565b61083e6040518060400160405280600681526020016510102332b29d60d11b8152508262ffffff16611933565b6108756040518060400160405280600c81526020016b10102634b8bab4b234ba3c9d60a11b815250836001600160801b0316611933565b6108a96040518060400160405280600f81526020016e101021bab93932b73a103a34b1b59d60891b8152508460020b611978565b6108e36040518060400160405280600f81526020016e101029b8b93a283934b1b2ac1c9b1d60891b815250856001600160a01b0316611933565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801561094057602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610922575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020015f905b82821015610a7d575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b82821015610a66578382905f5260205f200180546109db90611f38565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0790611f38565b8015610a525780601f10610a2957610100808354040283529160200191610a52565b820191905f5260205f20905b815481529060010190602001808311610a3557829003601f168201915b5050505050815260200190600101906109be565b50505050815250508152602001906001019061096d565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801561094057602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610922575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561094057602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610922575050505050905090565b610b806040518060400160405280601d81526020017f3d3d3d20466c61736820537761702053657475702054657374203d3d3d00000081525061185b565b73c6962004f452be9203591991d15f6b388e09e8d03b15610465575f73c6962004f452be9203591991d15f6b388e09e8d090505f816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c149190611f70565b90505f826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c53573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c779190611f70565b90505f836001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cda9190611f16565b9050610d1360405180604001604052806016815260200175233630b9b41039bbb0b8103837b7b6103932b0b23c9d60511b81525061185b565b610d3e6040518060400160405280600981526020016810102a37b5b2b7181d60b91b8152508461189e565b610d696040518060400160405280600981526020016810102a37b5b2b7189d60b91b8152508361189e565b610d966040518060400160405280600681526020016510102332b29d60d11b8152508262ffffff16611933565b60408051808201909152601081526f10102837b7b6103430b99031b7b2329d60811b6020820152610dde9073c6962004f452be9203591991d15f6b388e09e8d03b15156119bd565b50505050565b6060601b805480602002602001604051908101604052809291908181526020015f905b82821015610a7d578382905f5260205f2090600202016040518060400160405290815f82018054610e3790611f38565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6390611f38565b8015610eae5780601f10610e8557610100808354040283529160200191610eae565b820191905f5260205f20905b815481529060010190602001808311610e9157829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610f3057602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610ef25790505b50505050508152505081526020019060010190610e07565b6060601a805480602002602001604051908101604052809291908181526020015f905b82821015610a7d578382905f5260205f20018054610f8890611f38565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb490611f38565b8015610fff5780601f10610fd657610100808354040283529160200191610fff565b820191905f5260205f20905b815481529060010190602001808311610fe257829003601f168201915b505050505081526020019060010190610f6b565b6060601d805480602002602001604051908101604052809291908181526020015f905b82821015610a7d575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156110dc57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161109e5790505b50505050508152505081526020019060010190611036565b6060601c805480602002602001604051908101604052809291908181526020015f905b82821015610a7d575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156111bd57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161117f5790505b50505050508152505081526020019060010190611117565b6112136040518060400160405280601d81526020017f3d3d3d2053696d756c6174696e67204c617267652053776170203d3d3d00000081525061185b565b6040516370a0823160e01b81527347c031236e19d024b42f8ae6780e44a57317070360048201819052905f9073a0b86a33e6417ab7d461a67e4d3f14f6b49d3e8b906370a0823190602401602060405180830381865afa158015611279573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129d9190611dd3565b111561156c576040516370a0823160e01b81526001600160a01b03821660048201525f9073a0b86a33e6417ab7d461a67e4d3f14f6b49d3e8b906370a0823190602401602060405180830381865afa1580156112fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131f9190611dd3565b9050611381604051806040016040528060138152602001722bb430b632902aa9a221903130b630b731b29d60691b815250620f42408361135f9190611dea565b604051806040016040528060048152602001635553444360e01b8152506118e7565b6040516303223eab60e11b81526001600160a01b0383166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156113d3575f5ffd5b505af11580156113e5573d5f5f3e3d5ffd5b50505073c6962004f452be9203591991d15f6b388e09e8d03b159050611508575f73c6962004f452be9203591991d15f6b388e09e8d090505f816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa15801561145a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147e9190611e5c565b50505050505090506114c360405180604001604052806012815260200171283934b1b2903132b337b9329039bbb0b81d60711b815250826001600160a01b0316611933565b6114e460405180606001604052806026815260200161208f6026913961185b565b61150560405180606001604052806034815260200161205b6034913961185b565b50505b737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611554575f5ffd5b505af1158015611566573d5f5f3e3d5ffd5b50505050505b50565b60606019805480602002602001604051908101604052809291908181526020015f905b82821015610a7d578382905f5260205f200180546115af90611f38565b80601f01602080910402602001604051908101604052809291908181526020018280546115db90611f38565b80156116265780601f106115fd57610100808354040283529160200191611626565b820191905f5260205f20905b81548152906001019060200180831161160957829003601f168201915b505050505081526020019060010190611592565b6008545f9060ff161561164d5750600190565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b60248301525f9163667f9d7090604401602060405180830381865afa1580156116ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116cf9190611dd3565b1415905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561094057602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610922575050505050905090565b6117556040518060600160405280602381526020016120b56023913961185b565b6117766040518060600160405280602e815260200161202d602e913961185b565b6117bf604051806040016040528060138152602001722837b7b6101890142ba2aa2417aaa9a221949d60691b81525073c6962004f452be9203591991d15f6b388e09e8d061189e565b611808604051806040016040528060138152602001722837b7b6101910142ba2aa2417aaa9a22a149d60691b81525073641c00a822e8b671738d32a431a4fb6074e5c79d61189e565b6104656040518060400160405280601881526020017f42726964676520506f6f6c2028555344432f55534454293a0000000000000000815250738c29e3e71a2af86e06a41b8d12b8e4d86e5cdd5061189e565b61156c8160405160240161186f9190611dba565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526119fe565b6118e382826040516024016118b4929190611f8b565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b1790526119fe565b5050565b61192e8383836040516024016118ff93929190611fb4565b60408051601f198184030181529190526020810180516001600160e01b0316635970e08960e01b1790526119fe565b505050565b6118e38282604051602401611949929190611fe8565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b1790526119fe565b6118e3828260405160240161198e929190611fe8565b60408051601f198184030181529190526020810180516001600160e01b0316631e53134760e11b1790526119fe565b6118e382826040516024016119d3929190612009565b60408051601f198184030181529190526020810180516001600160e01b031663c3b5563560e01b1790525b61156c815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b602080825282518282018190525f918401906040840190835b81811015611a615783516001600160a01b0316835260209384019390920191600101611a3a565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b5757603f19878603018452815180516001600160a01b03168652602090810151604082880181905281519088018190529101906060600582901b8801810191908801905f5b81811015611b3d57605f198a8503018352611b27848651611a6c565b6020958601959094509290920191600101611b0b565b509197505050602094850194929092019150600101611ac0565b50929695505050505050565b5f8151808452602084019350602083015f5b82811015611b9d5781516001600160e01b031916865260209586019590910190600101611b75565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b5757603f198786030184528151805160408752611bf36040880182611a6c565b9050602082015191508681036020880152611c0e8183611b63565b965050506020938401939190910190600101611bcd565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b5757603f19878603018452611c67858351611a6c565b94506020938401939190910190600101611c4b565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b5757868503603f19018452815180516001600160a01b03168652602090810151604091870182905290611cdd90870182611b63565b9550506020938401939190910190600101611ca2565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611d17575f5ffd5b815167ffffffffffffffff811115611d2d575f5ffd5b8201601f81018413611d3d575f5ffd5b805167ffffffffffffffff811115611d5757611d57611cf3565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611d8657611d86611cf3565b604052818152828201602001861015611d9d575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b602081525f611dcc6020830184611a6c565b9392505050565b5f60208284031215611de3575f5ffd5b5051919050565b5f82611e0457634e487b7160e01b5f52601260045260245ffd5b500490565b805160ff81168114611e19575f5ffd5b919050565b5f60208284031215611e2e575f5ffd5b611dcc82611e09565b6001600160a01b038116811461156c575f5ffd5b805161ffff81168114611e19575f5ffd5b5f5f5f5f5f5f5f60e0888a031215611e72575f5ffd5b8751611e7d81611e37565b8097505060208801518060020b8114611e94575f5ffd5b9550611ea260408901611e4b565b9450611eb060608901611e4b565b9350611ebe60808901611e4b565b9250611ecc60a08901611e09565b915060c08801518015158114611ee0575f5ffd5b8091505092959891949750929550565b5f60208284031215611f00575f5ffd5b81516001600160801b0381168114611dcc575f5ffd5b5f60208284031215611f26575f5ffd5b815162ffffff81168114611dcc575f5ffd5b600181811c90821680611f4c57607f821691505b602082108103611f6a57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611f80575f5ffd5b8151611dcc81611e37565b604081525f611f9d6040830185611a6c565b905060018060a01b03831660208301529392505050565b606081525f611fc66060830186611a6c565b8460208401528281036040840152611fde8185611a6c565b9695505050505050565b604081525f611ffa6040830185611a6c565b90508260208301529392505050565b604081525f61201b6040830185611a6c565b90508215156020830152939250505056fe436865636b696e6720666f7220617262697472616765206265747765656e20574554482f5553444320706f6f6c735468697320637265617465732070726963652064697363726570616e637920666f72206172626974726167652074657374696e674c6172676520737761702073696d756c6174696f6e20776f756c64206f6363757220686572653d3d3d2054657374696e672041726269747261676520446574656374696f6e203d3d3da2646970667358221220462f894e78cea991f439d7a338ad633fddad7b4590f1e16e5f0a7b866eb660c564736f6c634300081e0033","sourceMap":"3160:44:2:-:0;;;3200:4;-1:-1:-1;;3160:44:2;;;;;;;;1065:26:13;;;;;;;;;;;2013:20:19;1237:5097;2013:20;;1237:5097;2013:20;;;-1:-1:-1;;;2013:20:19;;;;:8;:20::i;:::-;1994:39;;;;;;;-1:-1:-1;;;;;1994:39:19;;;;;-1:-1:-1;;;;;1994:39:19;;;;;;1237:5097;;;;;;;;;;;;20760:125:3;20824:12;20858:20;20873:4;20858:14;:20::i;:::-;-1:-1:-1;20848:30:3;20760:125;-1:-1:-1;;20760:125:3:o;20479:242::-;20549:12;20563:18;20641:4;20624:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20624:22:3;;;;;;;20614:33;;20624:22;20614:33;;;;-1:-1:-1;;;;;;20665:19:3;;;;;468:25:20;;;20614:33:3;-1:-1:-1;20665:7:3;;;;441:18:20;;20665:19:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20694:20;;-1:-1:-1;;;20694:20:3;;20658:26;;-1:-1:-1;20694:8:3;;;;:20;;20658:26;;20709:4;;20694:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20479:242;;;:::o;14:303:20:-;145:3;183:6;177:13;229:6;222:4;214:6;210:17;205:3;199:37;291:1;255:16;;280:13;;;-1:-1:-1;255:16:20;14:303;-1:-1:-1;14:303:20:o;504:290::-;574:6;627:2;615:9;606:7;602:23;598:32;595:52;;;643:1;640;633:12;595:52;669:16;;-1:-1:-1;;;;;714:31:20;;704:42;;694:70;;760:1;757;750:12;694:70;783:5;504:290;-1:-1:-1;;;504:290:20:o;799:515::-;1005:1;1001;996:3;992:11;988:19;980:6;976:32;965:9;958:51;1045:2;1040;1029:9;1025:18;1018:30;939:4;1077:6;1071:13;1120:6;1115:2;1104:9;1100:18;1093:34;1179:6;1174:2;1166:6;1162:15;1157:2;1146:9;1142:18;1136:50;1235:1;1230:2;1221:6;1210:9;1206:22;1202:31;1195:42;1305:2;1298;1294:7;1289:2;1281:6;1277:15;1273:29;1262:9;1258:45;1254:54;1246:62;;;799:515;;;;;:::o;:::-;1237:5097:19;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610106575f3560e01c806385226c811161009e578063b5508aa91161006e578063b5508aa9146101b6578063ba414fa6146101be578063e20c9f71146101d6578063e93d9710146101de578063fa7626d4146101e6575f5ffd5b806385226c811461017c578063916a17c614610191578063b0464fdc146101a6578063b04cafef146101ae575f5ffd5b80633e5e3c23116100d95780633e5e3c231461014f5780633f7286f41461015757806343212dfc1461015f57806366d9a9a014610167575f5ffd5b80630a9254e41461010a5780630efb9720146101145780631ed7831c1461011c5780632ade38801461013a575b5f5ffd5b6101126101f3565b005b610112610467565b6101246108ea565b6040516101319190611a21565b60405180910390f35b61014261094a565b6040516101319190611a9a565b610124610a86565b610124610ae4565b610112610b42565b61016f610de4565b6040516101319190611ba7565b610184610f48565b6040516101319190611c25565b610199611013565b6040516101319190611c7c565b6101996110f4565b6101126111d5565b61018461156f565b6101c661163a565b6040519015158152602001610131565b6101246116d6565b610112611734565b601f546101c69060ff1681565b60405163f877cb1960e01b815260206004820152601060248201526f105490925514955357d49410d7d5549360821b6044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906331ba349890829063f877cb19906064015f60405180830381865afa158015610268573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261028f9190810190611d07565b6040518263ffffffff1660e01b81526004016102ab9190611dba565b6020604051808303815f875af11580156102c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102eb9190611dd3565b50601f5460405163c88a5e6d60e01b81526101009091046001600160a01b0316600482015268056bc75e2d631000006024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d906044015f604051808303815f87803b158015610355575f5ffd5b505af1158015610367573d5f5f3e3d5ffd5b505050506103a96040518060400160405280601f81526020017f5465737420656e7669726f6e6d656e7420736574757020636f6d706c6574650081525061185b565b6040805180820190915260128152712a32b9ba103ab9b2b91030b2323932b9b99d60711b6020820152601f546103ed919061010090046001600160a01b031661189e565b6040805180820190915260168152752a32b9ba103ab9b2b91022aa24103130b630b731b29d60511b6020820152601f54610465919061044490670de0b6b3a76400009061010090046001600160a01b031631611dea565b6040518060400160405280600381526020016208aa8960eb1b8152506118e7565b565b6104a56040518060400160405280601981526020017f3d3d3d20546f6b656e20496e666f726d6174696f6e203d3d3d0000000000000081525061185b565b61054b6040518060400160405280600e81526020016d2ba2aa24103232b1b4b6b0b6399d60911b8152507382af49447d8a07e3bd95bd0d56f35241523fbab16001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105439190611e1e565b60ff16611933565b6105c56040518060400160405280600e81526020016d2aa9a221903232b1b4b6b0b6399d60911b81525073a0b86a33e6417ab7d461a67e4d3f14f6b49d3e8b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f5f3e3d5ffd5b61063f6040518060400160405280600e81526020016d2aa9a22a103232b1b4b6b0b6399d60911b81525073fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f5f3e3d5ffd5b61067d6040518060400160405280601881526020017f3d3d3d20506f6f6c20496e666f726d6174696f6e203d3d3d000000000000000081525061185b565b73c6962004f452be9203591991d15f6b388e09e8d03b15610465575f73c6962004f452be9203591991d15f6b388e09e8d090505f5f826001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156106ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107129190611e5c565b5050505050915091505f836001600160a01b0316631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa158015610758573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077c9190611ef0565b90505f846001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107df9190611f16565b90506108116040518060400160405280600f81526020016e2ba2aa2417aaa9a221902837b7b61d60891b81525061185b565b61083e6040518060400160405280600681526020016510102332b29d60d11b8152508262ffffff16611933565b6108756040518060400160405280600c81526020016b10102634b8bab4b234ba3c9d60a11b815250836001600160801b0316611933565b6108a96040518060400160405280600f81526020016e101021bab93932b73a103a34b1b59d60891b8152508460020b611978565b6108e36040518060400160405280600f81526020016e101029b8b93a283934b1b2ac1c9b1d60891b815250856001600160a01b0316611933565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801561094057602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610922575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020015f905b82821015610a7d575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b82821015610a66578382905f5260205f200180546109db90611f38565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0790611f38565b8015610a525780601f10610a2957610100808354040283529160200191610a52565b820191905f5260205f20905b815481529060010190602001808311610a3557829003601f168201915b5050505050815260200190600101906109be565b50505050815250508152602001906001019061096d565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801561094057602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610922575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561094057602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610922575050505050905090565b610b806040518060400160405280601d81526020017f3d3d3d20466c61736820537761702053657475702054657374203d3d3d00000081525061185b565b73c6962004f452be9203591991d15f6b388e09e8d03b15610465575f73c6962004f452be9203591991d15f6b388e09e8d090505f816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c149190611f70565b90505f826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c53573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c779190611f70565b90505f836001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cda9190611f16565b9050610d1360405180604001604052806016815260200175233630b9b41039bbb0b8103837b7b6103932b0b23c9d60511b81525061185b565b610d3e6040518060400160405280600981526020016810102a37b5b2b7181d60b91b8152508461189e565b610d696040518060400160405280600981526020016810102a37b5b2b7189d60b91b8152508361189e565b610d966040518060400160405280600681526020016510102332b29d60d11b8152508262ffffff16611933565b60408051808201909152601081526f10102837b7b6103430b99031b7b2329d60811b6020820152610dde9073c6962004f452be9203591991d15f6b388e09e8d03b15156119bd565b50505050565b6060601b805480602002602001604051908101604052809291908181526020015f905b82821015610a7d578382905f5260205f2090600202016040518060400160405290815f82018054610e3790611f38565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6390611f38565b8015610eae5780601f10610e8557610100808354040283529160200191610eae565b820191905f5260205f20905b815481529060010190602001808311610e9157829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610f3057602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610ef25790505b50505050508152505081526020019060010190610e07565b6060601a805480602002602001604051908101604052809291908181526020015f905b82821015610a7d578382905f5260205f20018054610f8890611f38565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb490611f38565b8015610fff5780601f10610fd657610100808354040283529160200191610fff565b820191905f5260205f20905b815481529060010190602001808311610fe257829003601f168201915b505050505081526020019060010190610f6b565b6060601d805480602002602001604051908101604052809291908181526020015f905b82821015610a7d575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156110dc57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161109e5790505b50505050508152505081526020019060010190611036565b6060601c805480602002602001604051908101604052809291908181526020015f905b82821015610a7d575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156111bd57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161117f5790505b50505050508152505081526020019060010190611117565b6112136040518060400160405280601d81526020017f3d3d3d2053696d756c6174696e67204c617267652053776170203d3d3d00000081525061185b565b6040516370a0823160e01b81527347c031236e19d024b42f8ae6780e44a57317070360048201819052905f9073a0b86a33e6417ab7d461a67e4d3f14f6b49d3e8b906370a0823190602401602060405180830381865afa158015611279573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129d9190611dd3565b111561156c576040516370a0823160e01b81526001600160a01b03821660048201525f9073a0b86a33e6417ab7d461a67e4d3f14f6b49d3e8b906370a0823190602401602060405180830381865afa1580156112fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131f9190611dd3565b9050611381604051806040016040528060138152602001722bb430b632902aa9a221903130b630b731b29d60691b815250620f42408361135f9190611dea565b604051806040016040528060048152602001635553444360e01b8152506118e7565b6040516303223eab60e11b81526001600160a01b0383166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156113d3575f5ffd5b505af11580156113e5573d5f5f3e3d5ffd5b50505073c6962004f452be9203591991d15f6b388e09e8d03b159050611508575f73c6962004f452be9203591991d15f6b388e09e8d090505f816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa15801561145a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147e9190611e5c565b50505050505090506114c360405180604001604052806012815260200171283934b1b2903132b337b9329039bbb0b81d60711b815250826001600160a01b0316611933565b6114e460405180606001604052806026815260200161208f6026913961185b565b61150560405180606001604052806034815260200161205b6034913961185b565b50505b737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611554575f5ffd5b505af1158015611566573d5f5f3e3d5ffd5b50505050505b50565b60606019805480602002602001604051908101604052809291908181526020015f905b82821015610a7d578382905f5260205f200180546115af90611f38565b80601f01602080910402602001604051908101604052809291908181526020018280546115db90611f38565b80156116265780601f106115fd57610100808354040283529160200191611626565b820191905f5260205f20905b81548152906001019060200180831161160957829003601f168201915b505050505081526020019060010190611592565b6008545f9060ff161561164d5750600190565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b60248301525f9163667f9d7090604401602060405180830381865afa1580156116ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116cf9190611dd3565b1415905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561094057602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610922575050505050905090565b6117556040518060600160405280602381526020016120b56023913961185b565b6117766040518060600160405280602e815260200161202d602e913961185b565b6117bf604051806040016040528060138152602001722837b7b6101890142ba2aa2417aaa9a221949d60691b81525073c6962004f452be9203591991d15f6b388e09e8d061189e565b611808604051806040016040528060138152602001722837b7b6101910142ba2aa2417aaa9a22a149d60691b81525073641c00a822e8b671738d32a431a4fb6074e5c79d61189e565b6104656040518060400160405280601881526020017f42726964676520506f6f6c2028555344432f55534454293a0000000000000000815250738c29e3e71a2af86e06a41b8d12b8e4d86e5cdd5061189e565b61156c8160405160240161186f9190611dba565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526119fe565b6118e382826040516024016118b4929190611f8b565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b1790526119fe565b5050565b61192e8383836040516024016118ff93929190611fb4565b60408051601f198184030181529190526020810180516001600160e01b0316635970e08960e01b1790526119fe565b505050565b6118e38282604051602401611949929190611fe8565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b1790526119fe565b6118e3828260405160240161198e929190611fe8565b60408051601f198184030181529190526020810180516001600160e01b0316631e53134760e11b1790526119fe565b6118e382826040516024016119d3929190612009565b60408051601f198184030181529190526020810180516001600160e01b031663c3b5563560e01b1790525b61156c815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b602080825282518282018190525f918401906040840190835b81811015611a615783516001600160a01b0316835260209384019390920191600101611a3a565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b5757603f19878603018452815180516001600160a01b03168652602090810151604082880181905281519088018190529101906060600582901b8801810191908801905f5b81811015611b3d57605f198a8503018352611b27848651611a6c565b6020958601959094509290920191600101611b0b565b509197505050602094850194929092019150600101611ac0565b50929695505050505050565b5f8151808452602084019350602083015f5b82811015611b9d5781516001600160e01b031916865260209586019590910190600101611b75565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b5757603f198786030184528151805160408752611bf36040880182611a6c565b9050602082015191508681036020880152611c0e8183611b63565b965050506020938401939190910190600101611bcd565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b5757603f19878603018452611c67858351611a6c565b94506020938401939190910190600101611c4b565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611b5757868503603f19018452815180516001600160a01b03168652602090810151604091870182905290611cdd90870182611b63565b9550506020938401939190910190600101611ca2565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611d17575f5ffd5b815167ffffffffffffffff811115611d2d575f5ffd5b8201601f81018413611d3d575f5ffd5b805167ffffffffffffffff811115611d5757611d57611cf3565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611d8657611d86611cf3565b604052818152828201602001861015611d9d575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b602081525f611dcc6020830184611a6c565b9392505050565b5f60208284031215611de3575f5ffd5b5051919050565b5f82611e0457634e487b7160e01b5f52601260045260245ffd5b500490565b805160ff81168114611e19575f5ffd5b919050565b5f60208284031215611e2e575f5ffd5b611dcc82611e09565b6001600160a01b038116811461156c575f5ffd5b805161ffff81168114611e19575f5ffd5b5f5f5f5f5f5f5f60e0888a031215611e72575f5ffd5b8751611e7d81611e37565b8097505060208801518060020b8114611e94575f5ffd5b9550611ea260408901611e4b565b9450611eb060608901611e4b565b9350611ebe60808901611e4b565b9250611ecc60a08901611e09565b915060c08801518015158114611ee0575f5ffd5b8091505092959891949750929550565b5f60208284031215611f00575f5ffd5b81516001600160801b0381168114611dcc575f5ffd5b5f60208284031215611f26575f5ffd5b815162ffffff81168114611dcc575f5ffd5b600181811c90821680611f4c57607f821691505b602082108103611f6a57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611f80575f5ffd5b8151611dcc81611e37565b604081525f611f9d6040830185611a6c565b905060018060a01b03831660208301529392505050565b606081525f611fc66060830186611a6c565b8460208401528281036040840152611fde8185611a6c565b9695505050505050565b604081525f611ffa6040830185611a6c565b90508260208301529392505050565b604081525f61201b6040830185611a6c565b90508215156020830152939250505056fe436865636b696e6720666f7220617262697472616765206265747765656e20574554482f5553444320706f6f6c735468697320637265617465732070726963652064697363726570616e637920666f72206172626974726167652074657374696e674c6172676520737761702073696d756c6174696f6e20776f756c64206f6363757220686572653d3d3d2054657374696e672041726269747261676520446574656374696f6e203d3d3da2646970667358221220462f894e78cea991f439d7a338ad633fddad7b4590f1e16e5f0a7b866eb660c564736f6c634300081e0033","sourceMap":"1237:5097:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2044:444;;;:::i;:::-;;2498:1046;;;:::i;2907:134:6:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3823:151;;;:::i;:::-;;;;;;;:::i;3684:133::-;;;:::i;3385:141::-;;;:::i;5589:743:19:-;;;:::i;3193:186:6:-;;;:::i;:::-;;;;;;;:::i;3047:140::-;;;:::i;:::-;;;;;;;:::i;3532:146::-;;;:::i;:::-;;;;;;;:::i;2754:147::-;;;:::i;3554:1200:19:-;;;:::i;2459:141:6:-;;;:::i;1306:195:1:-;;;:::i;:::-;;;6168:14:20;;6161:22;6143:41;;6131:2;6116:18;1306:195:1;6003:187:20;2606:142:6;;;:::i;4764:815:19:-;;;:::i;1065:26:13:-;;;;;;;;;2044:444:19;2160:32;;-1:-1:-1;;;2160:32:19;;6397:2:20;2160:32:19;;;6379:21:20;6436:2;6416:18;;;6409:30;-1:-1:-1;;;6455:18:20;;;6448:46;336:42:0;;2146:13:19;;336:42:0;;2160:12:19;;6511:18:20;;2160:32:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2160:32:19;;;;;;;;;;;;:::i;:::-;2146:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2255:8:19;;2247:28;;-1:-1:-1;;;2247:28:19;;2255:8;;;;-1:-1:-1;;;;;2255:8:19;2247:28;;;8228:51:20;2265:9:19;8295:18:20;;;8288:34;336:42:0;;2247:7:19;;8201:18:20;;2247:28:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2294:46;;;;;;;;;;;;;;;;;;:11;:46::i;:::-;2350:43;;;;;;;;;;;;-1:-1:-1;;;2350:43:19;;;;2384:8;;2350:43;;;2384:8;;;-1:-1:-1;;;;;2384:8:19;2350:11;:43::i;:::-;2403:78;;;;;;;;;;;;-1:-1:-1;;;2403:78:19;;;;2449:8;;2403:78;;;2441:32;;2469:4;;2449:8;;;-1:-1:-1;;;;;2449:8:19;2441:25;:32;:::i;:::-;2403:78;;;;;;;;;;;;;-1:-1:-1;;;2403:78:19;;;:11;:78::i;:::-;2044:444::o;2498:1046::-;2622:40;;;;;;;;;;;;;;;;;;:11;:40::i;:::-;2725:54;;;;;;;;;;;;;;-1:-1:-1;;;2725:54:19;;;1328:42;-1:-1:-1;;;;;2755:21:19;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2725:54;;:11;:54::i;:::-;2789;;;;;;;;;;;;;;-1:-1:-1;;;2789:54:19;;;1400:42;-1:-1:-1;;;;;2819:21:19;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2789:54;2853;;;;;;;;;;;;;;-1:-1:-1;;;2853:54:19;;;1483:42;-1:-1:-1;;;;;2883:21:19;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2853:54;2955:39;;;;;;;;;;;;;;;;;;:11;:39::i;:::-;1713:42;3017:26;:30;3013:525;;3063:19;1713:42;3063:52;;3130:20;3152:10;3171:4;-1:-1:-1;;;;;3171:10:19;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3129:54;;;;;;;;;3197:17;3217:4;-1:-1:-1;;;;;3217:14:19;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3197:36;;3247:10;3260:4;-1:-1:-1;;;;;3260:8:19;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3247:23;;3297:30;;;;;;;;;;;;;;-1:-1:-1;;;3297:30:19;;;:11;:30::i;:::-;3341:26;;;;;;;;;;;;;;-1:-1:-1;;;3341:26:19;;;3363:3;3341:26;;:11;:26::i;:::-;3381:38;;;;;;;;;;;;;;-1:-1:-1;;;3381:38:19;;;3409:9;-1:-1:-1;;;;;3381:38:19;:11;:38::i;:::-;3433:36;;;;;;;;;;;;;;-1:-1:-1;;;3433:36:19;;;3464:4;3433:36;;:11;:36::i;:::-;3483:44;;;;;;;;;;;;;;-1:-1:-1;;;3483:44:19;;;3514:12;-1:-1:-1;;;;;3483:44:19;:11;:44::i;:::-;3049:489;;;;;2498:1046::o;2907:134:6:-;2954:33;3018:16;2999:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2999:35:6;;;;;;;;;;;;;;;;;;;;;;;2907:134;:::o;3823:151::-;3872:42;3948:19;3926:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3926:41:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3823:151;:::o;3684:133::-;3730:33;3794:16;3775:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3775:35:6;;;;;;;;;;;;;;;;;;;;;;3684:133;:::o;3385:141::-;3433:35;3501:18;3480:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3480:39:6;;;;;;;;;;;;;;;;;;;;;;3385:141;:::o;5589:743:19:-;5678:44;;;;;;;;;;;;;;;;;;:11;:44::i;:::-;1713:42;5806:26;:30;5802:524;;5852:19;1713:42;5852:52;;5931:14;5948:4;-1:-1:-1;;;;;5948:11:19;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5931:30;;5975:14;5992:4;-1:-1:-1;;;;;5992:11:19;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5975:30;;6019:10;6032:4;-1:-1:-1;;;;;6032:8:19;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6019:23;;6069:37;;;;;;;;;;;;;;-1:-1:-1;;;6069:37:19;;;:11;:37::i;:::-;6120:32;;;;;;;;;;;;;;-1:-1:-1;;;6120:32:19;;;6145:6;6120:11;:32::i;:::-;6166;;;;;;;;;;;;;;-1:-1:-1;;;6166:32:19;;;6191:6;6166:11;:32::i;:::-;6212:26;;;;;;;;;;;;;;-1:-1:-1;;;6212:26:19;;;6234:3;6212:26;;:11;:26::i;:::-;6252:63;;;;;;;;;;;;-1:-1:-1;;;6252:63:19;;;;;;1713:42;6284:26;:30;;6252:11;:63::i;:::-;5838:488;;;;5589:743::o;3193:186:6:-;3249:56;3346:26;3317:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3317:55:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3047:140;3095:34;3162:18;3141:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:146;3580:40;3653:18;3632:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3632:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3632:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2754:147;2803:40;2876:18;2855:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2855:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2855:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3554:1200:19;3680:44;;;;;;;;;;;;;;;;;;:11;:44::i;:::-;3885:29;;-1:-1:-1;;;3885:29:19;;3800:42;3885:29;;;11527:51:20;;;3800:42:19;3784:13;;1400:42;;3885:22;;11500:18:20;;3885:29:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;3881:867;;;3957:29;;-1:-1:-1;;;3957:29:19;;-1:-1:-1;;;;;11545:32:20;;3957:29:19;;;11527:51:20;3934:20:19;;1400:42;;3957:22;;11500:18:20;;3957:29:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3934:52;;4000:62;;;;;;;;;;;;;;-1:-1:-1;;;4000:62:19;;;4050:3;4035:12;:18;;;;:::i;:::-;4000:62;;;;;;;;;;;;;-1:-1:-1;;;4000:62:19;;;:11;:62::i;:::-;4132:20;;-1:-1:-1;;;4132:20:19;;-1:-1:-1;;;;;11545:32:20;;4132:20:19;;;11527:51:20;336:42:0;;4132:13:19;;11500:18:20;;4132:20:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1713:42:19;4223:26;:30;;-1:-1:-1;4219:478:19;;4273:19;1713:42;4273:52;;4344:19;4373:4;-1:-1:-1;;;;;4373:10:19;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4343:42;;;;;;;;4403:46;;;;;;;;;;;;;;-1:-1:-1;;;4403:46:19;;;4437:11;-1:-1:-1;;;;;4403:46:19;:11;:46::i;:::-;4544:53;;;;;;;;;;;;;;;;;;:11;:53::i;:::-;4615:67;;;;;;;;;;;;;;;;;;:11;:67::i;:::-;4255:442;;4219:478;336:42:0;-1:-1:-1;;;;;4723:12:19;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3920:828;3881:867;3595:1159;3554:1200::o;2459:141:6:-;2508:34;2575:18;2554:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1306:195:1;1365:7;;1345:4;;1365:7;;1361:134;;;-1:-1:-1;1395:4:1;;1306:195::o;1361:134::-;1437:33;;-1:-1:-1;;;1437:33:1;;:7;:33;;;8228:51:20;;;-1:-1:-1;;;8295:18:20;;;8288:34;1482:1:1;;1437:7;;8201:18:20;;1437:33:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:47;;1430:54;;1306:195;:::o;2606:142:6:-;2655:35;2723:18;2702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2702:39:6;;;;;;;;;;;;;;;;;;;;;;2606:142;:::o;4764:815:19:-;4871:50;;;;;;;;;;;;;;;;;;:11;:50::i;:::-;5085:61;;;;;;;;;;;;;;;;;;:11;:61::i;:::-;5304:50;;;;;;;;;;;;;;-1:-1:-1;;;5304:50:19;;;1713:42;5304:11;:50::i;:::-;5364;;;;;;;;;;;;;;-1:-1:-1;;;5364:50:19;;;1808:42;5364:11;:50::i;:::-;5424:55;;;;;;;;;;;;;;;;;;1903:42;5424:11;:55::i;6191:121:15:-;6246:59;6301:2;6262:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6262:42:15;;;;;;;;;;;;;;-1:-1:-1;;;;;6262:42:15;-1:-1:-1;;;6262:42:15;;;6246:15;:59::i;7740:145::-;7807:71;7870:2;7874;7823:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7823:54:15;;;;;;;;;;;;;;-1:-1:-1;;;;;7823:54:15;-1:-1:-1;;;7823:54:15;;;7807:15;:71::i;:::-;7740:145;;:::o;11920:174::-;12005:82;12075:2;12079;12083;12021:65;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;12021:65:15;;;;;;;;;;;;;;-1:-1:-1;;;;;12021:65:15;-1:-1:-1;;;12021:65:15;;;12005:15;:82::i;:::-;11920:174;;;:::o;7139:145::-;7206:71;7269:2;7273;7222:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7222:54:15;;;;;;;;;;;;;;-1:-1:-1;;;;;7222:54:15;-1:-1:-1;;;7222:54:15;;;7206:15;:71::i;7290:143::-;7356:70;7418:2;7422;7372:53;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7372:53:15;;;;;;;;;;;;;;-1:-1:-1;;;;;7372:53:15;-1:-1:-1;;;7372:53:15;;;7356:15;:70::i;7595:139::-;7659:68;7719:2;7723;7675:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7675:51:15;;;;;;;;;;;;;;-1:-1:-1;;;;;7675:51:15;-1:-1:-1;;;7675:51:15;;;851:129;922:51;965:7;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;14:637:20:-;204:2;216:21;;;286:13;;189:18;;;308:22;;;156:4;;387:15;;;361:2;346:18;;;156:4;430:195;444:6;441:1;438:13;430:195;;;509:13;;-1:-1:-1;;;;;505:39:20;493:52;;574:2;600:15;;;;565:12;;;;541:1;459:9;430:195;;;-1:-1:-1;642:3:20;;14:637;-1:-1:-1;;;;;14:637:20:o;656:289::-;698:3;736:5;730:12;763:6;758:3;751:19;819:6;812:4;805:5;801:16;794:4;789:3;785:14;779:47;871:1;864:4;855:6;850:3;846:16;842:27;835:38;934:4;927:2;923:7;918:2;910:6;906:15;902:29;897:3;893:39;889:50;882:57;;;656:289;;;;:::o;950:1626::-;1154:4;1202:2;1191:9;1187:18;1232:2;1221:9;1214:21;1255:6;1290;1284:13;1321:6;1313;1306:22;1359:2;1348:9;1344:18;1337:25;;1421:2;1411:6;1408:1;1404:14;1393:9;1389:30;1385:39;1371:53;;1459:2;1451:6;1447:15;1480:1;1490:1057;1504:6;1501:1;1498:13;1490:1057;;;-1:-1:-1;;1569:22:20;;;1565:36;1553:49;;1625:13;;1712:9;;-1:-1:-1;;;;;1708:35:20;1693:51;;1791:2;1783:11;;;1777:18;1677:2;1815:15;;;1808:27;;;1896:19;;1665:15;;;1928:24;;;2083:21;;;1986:2;2036:1;2032:16;;;2020:29;;2016:38;;;1974:15;;;;-1:-1:-1;2142:296:20;2158:8;2153:3;2150:17;2142:296;;;2264:2;2260:7;2251:6;2243;2239:19;2235:33;2228:5;2221:48;2296:42;2331:6;2320:8;2314:15;2296:42;:::i;:::-;2381:2;2367:17;;;;2286:52;;-1:-1:-1;2410:14:20;;;;;2186:1;2177:11;2142:296;;;-1:-1:-1;2461:6:20;;-1:-1:-1;;;2502:2:20;2525:12;;;;2490:15;;;;;-1:-1:-1;1526:1:20;1519:9;1490:1057;;;-1:-1:-1;2564:6:20;;950:1626;-1:-1:-1;;;;;;950:1626:20:o;2581:446::-;2633:3;2671:5;2665:12;2698:6;2693:3;2686:19;2730:4;2725:3;2721:14;2714:21;;2769:4;2762:5;2758:16;2792:1;2802:200;2816:6;2813:1;2810:13;2802:200;;;2881:13;;-1:-1:-1;;;;;;2877:40:20;2865:53;;2947:4;2938:14;;;;2975:17;;;;2838:1;2831:9;2802:200;;;-1:-1:-1;3018:3:20;;2581:446;-1:-1:-1;;;;2581:446:20:o;3032:1143::-;3250:4;3298:2;3287:9;3283:18;3328:2;3317:9;3310:21;3351:6;3386;3380:13;3417:6;3409;3402:22;3455:2;3444:9;3440:18;3433:25;;3517:2;3507:6;3504:1;3500:14;3489:9;3485:30;3481:39;3467:53;;3555:2;3547:6;3543:15;3576:1;3586:560;3600:6;3597:1;3594:13;3586:560;;;3693:2;3689:7;3677:9;3669:6;3665:22;3661:36;3656:3;3649:49;3727:6;3721:13;3773:2;3767:9;3804:2;3796:6;3789:18;3834:48;3878:2;3870:6;3866:15;3852:12;3834:48;:::i;:::-;3820:62;;3931:2;3927;3923:11;3917:18;3895:40;;3984:6;3976;3972:19;3967:2;3959:6;3955:15;3948:44;4015:51;4059:6;4043:14;4015:51;:::i;:::-;4005:61;-1:-1:-1;;;4101:2:20;4124:12;;;;4089:15;;;;;3622:1;3615:9;3586:560;;4180:782;4342:4;4390:2;4379:9;4375:18;4420:2;4409:9;4402:21;4443:6;4478;4472:13;4509:6;4501;4494:22;4547:2;4536:9;4532:18;4525:25;;4609:2;4599:6;4596:1;4592:14;4581:9;4577:30;4573:39;4559:53;;4647:2;4639:6;4635:15;4668:1;4678:255;4692:6;4689:1;4686:13;4678:255;;;4785:2;4781:7;4769:9;4761:6;4757:22;4753:36;4748:3;4741:49;4813:40;4846:6;4837;4831:13;4813:40;:::i;:::-;4803:50;-1:-1:-1;4888:2:20;4911:12;;;;4876:15;;;;;4714:1;4707:9;4678:255;;4967:1031;5169:4;5217:2;5206:9;5202:18;5247:2;5236:9;5229:21;5270:6;5305;5299:13;5336:6;5328;5321:22;5374:2;5363:9;5359:18;5352:25;;5436:2;5426:6;5423:1;5419:14;5408:9;5404:30;5400:39;5386:53;;5474:2;5466:6;5462:15;5495:1;5505:464;5519:6;5516:1;5513:13;5505:464;;;5584:22;;;-1:-1:-1;;5580:36:20;5568:49;;5640:13;;5685:9;;-1:-1:-1;;;;;5681:35:20;5666:51;;5764:2;5756:11;;;5750:18;5805:2;5788:15;;;5781:27;;;5750:18;5831:58;;5873:15;;5750:18;5831:58;:::i;:::-;5821:68;-1:-1:-1;;5924:2:20;5947:12;;;;5912:15;;;;;5541:1;5534:9;5505:464;;6540:127;6601:10;6596:3;6592:20;6589:1;6582:31;6632:4;6629:1;6622:15;6656:4;6653:1;6646:15;6672:935;6752:6;6805:2;6793:9;6784:7;6780:23;6776:32;6773:52;;;6821:1;6818;6811:12;6773:52;6854:9;6848:16;6887:18;6879:6;6876:30;6873:50;;;6919:1;6916;6909:12;6873:50;6942:22;;6995:4;6987:13;;6983:27;-1:-1:-1;6973:55:20;;7024:1;7021;7014:12;6973:55;7057:2;7051:9;7083:18;7075:6;7072:30;7069:56;;;7105:18;;:::i;:::-;7154:2;7148:9;7246:2;7208:17;;-1:-1:-1;;7204:31:20;;;7237:2;7200:40;7196:54;7184:67;;7281:18;7266:34;;7302:22;;;7263:62;7260:88;;;7328:18;;:::i;:::-;7364:2;7357:22;7388;;;7429:15;;;7446:2;7425:24;7422:37;-1:-1:-1;7419:57:20;;;7472:1;7469;7462:12;7419:57;7521:6;7516:2;7512;7508:11;7503:2;7495:6;7491:15;7485:43;7574:1;7548:19;;;7569:2;7544:28;7537:39;;;;7552:6;6672:935;-1:-1:-1;;;;6672:935:20:o;7612:220::-;7761:2;7750:9;7743:21;7724:4;7781:45;7822:2;7811:9;7807:18;7799:6;7781:45;:::i;:::-;7773:53;7612:220;-1:-1:-1;;;7612:220:20:o;7837:184::-;7907:6;7960:2;7948:9;7939:7;7935:23;7931:32;7928:52;;;7976:1;7973;7966:12;7928:52;-1:-1:-1;7999:16:20;;7837:184;-1:-1:-1;7837:184:20:o;8333:217::-;8373:1;8399;8389:132;;8443:10;8438:3;8434:20;8431:1;8424:31;8478:4;8475:1;8468:15;8506:4;8503:1;8496:15;8389:132;-1:-1:-1;8535:9:20;;8333:217::o;8555:160::-;8632:13;;8685:4;8674:16;;8664:27;;8654:55;;8705:1;8702;8695:12;8654:55;8555:160;;;:::o;8720:204::-;8788:6;8841:2;8829:9;8820:7;8816:23;8812:32;8809:52;;;8857:1;8854;8847:12;8809:52;8880:38;8908:9;8880:38;:::i;8929:131::-;-1:-1:-1;;;;;9004:31:20;;8994:42;;8984:70;;9050:1;9047;9040:12;9065:163;9143:13;;9196:6;9185:18;;9175:29;;9165:57;;9218:1;9215;9208:12;9233:909;9347:6;9355;9363;9371;9379;9387;9395;9448:3;9436:9;9427:7;9423:23;9419:33;9416:53;;;9465:1;9462;9455:12;9416:53;9497:9;9491:16;9516:31;9541:5;9516:31;:::i;:::-;9566:5;9556:15;;;9616:2;9605:9;9601:18;9595:25;9665:7;9662:1;9651:22;9642:7;9639:35;9629:63;;9688:1;9685;9678:12;9629:63;9711:7;-1:-1:-1;9737:48:20;9781:2;9766:18;;9737:48;:::i;:::-;9727:58;;9804:48;9848:2;9837:9;9833:18;9804:48;:::i;:::-;9794:58;;9871:49;9915:3;9904:9;9900:19;9871:49;:::i;:::-;9861:59;;9939:48;9982:3;9971:9;9967:19;9939:48;:::i;:::-;9929:58;;10032:3;10021:9;10017:19;10011:26;10082:7;10075:15;10068:23;10059:7;10056:36;10046:64;;10106:1;10103;10096:12;10046:64;10129:7;10119:17;;;9233:909;;;;;;;;;;:::o;10147:305::-;10217:6;10270:2;10258:9;10249:7;10245:23;10241:32;10238:52;;;10286:1;10283;10276:12;10238:52;10318:9;10312:16;-1:-1:-1;;;;;10361:5:20;10357:46;10350:5;10347:57;10337:85;;10418:1;10415;10408:12;10457:278;10526:6;10579:2;10567:9;10558:7;10554:23;10550:32;10547:52;;;10595:1;10592;10585:12;10547:52;10627:9;10621:16;10677:8;10670:5;10666:20;10659:5;10656:31;10646:59;;10701:1;10698;10691:12;10740:380;10819:1;10815:12;;;;10862;;;10883:61;;10937:4;10929:6;10925:17;10915:27;;10883:61;10990:2;10982:6;10979:14;10959:18;10956:38;10953:161;;11036:10;11031:3;11027:20;11024:1;11017:31;11071:4;11068:1;11061:15;11099:4;11096:1;11089:15;10953:161;;10740:380;;;:::o;11125:251::-;11195:6;11248:2;11236:9;11227:7;11223:23;11219:32;11216:52;;;11264:1;11261;11254:12;11216:52;11296:9;11290:16;11315:31;11340:5;11315:31;:::i;12057:317::-;12234:2;12223:9;12216:21;12197:4;12254:45;12295:2;12284:9;12280:18;12272:6;12254:45;:::i;:::-;12246:53;;12364:1;12360;12355:3;12351:11;12347:19;12339:6;12335:32;12330:2;12319:9;12315:18;12308:60;12057:317;;;;;:::o;12379:454::-;12604:2;12593:9;12586:21;12567:4;12630:45;12671:2;12660:9;12656:18;12648:6;12630:45;:::i;:::-;12711:6;12706:2;12695:9;12691:18;12684:34;12766:9;12758:6;12754:22;12749:2;12738:9;12734:18;12727:50;12794:33;12820:6;12812;12794:33;:::i;:::-;12786:41;12379:454;-1:-1:-1;;;;;;12379:454:20:o;12838:291::-;13015:2;13004:9;12997:21;12978:4;13035:45;13076:2;13065:9;13061:18;13053:6;13035:45;:::i;:::-;13027:53;;13116:6;13111:2;13100:9;13096:18;13089:34;12838:291;;;;;:::o;13428:301::-;13599:2;13588:9;13581:21;13562:4;13619:45;13660:2;13649:9;13645:18;13637:6;13619:45;:::i;:::-;13611:53;;13714:6;13707:14;13700:22;13695:2;13684:9;13680:18;13673:50;13428:301;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_ArbitrageOpportunity()":"e93d9710","test_FlashSwapSetup()":"43212dfc","test_SimulateLargeSwap()":"b04cafef","test_TokenBalancesAndPools()":"0efb9720"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_ArbitrageOpportunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_FlashSwapSetup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SimulateLargeSwap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_TokenBalancesAndPools\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/contracts/ArbitrageTest.sol\":\"ArbitrageTest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=lib/openzeppelin-contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"tests/contracts/ArbitrageTest.sol\":{\"keccak256\":\"0xc495563bc1fd4c417f1583c32d8bf7c156346b04045cfa789a60bf871401649c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09724c9b2fa61a660e59398dafa27559a7bc62afc54ec5b8c795d42397d573d1\",\"dweb:/ipfs/QmPAHWcdq7stCYPPLGJ3zv2HuWBQBWV98E8guxDybF8vuA\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"excludedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzArtifactSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"string","name":"artifact","type":"string"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_ArbitrageOpportunity"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_FlashSwapSetup"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_SimulateLargeSwap"},{"inputs":[],"stateMutability":"view","type":"function","name":"test_TokenBalancesAndPools"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=lib/openzeppelin-contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"tests/contracts/ArbitrageTest.sol":"ArbitrageTest"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43","urls":["bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3","dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa","urls":["bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2","dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d","urls":["bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391","dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861","urls":["bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3","dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8","urls":["bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a","dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c","urls":["bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4","dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"tests/contracts/ArbitrageTest.sol":{"keccak256":"0xc495563bc1fd4c417f1583c32d8bf7c156346b04045cfa789a60bf871401649c","urls":["bzz-raw://09724c9b2fa61a660e59398dafa27559a7bc62afc54ec5b8c795d42397d573d1","dweb:/ipfs/QmPAHWcdq7stCYPPLGJ3zv2HuWBQBWV98E8guxDybF8vuA"],"license":"MIT"}},"version":1},"id":19} |