019b477e-b437-71e6-9deb-39cc35738843
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 22685 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 22686 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 66174 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 66175 | capability.graph | complete | 1 / 3 | 1 week ago |
| 66176 | detector.run | complete | 1 / 3 | 1 week ago |
| 66177 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113517 | report.consolidate | complete | 1 / 6 | 1 week ago |
| 113518 | tool.slither | complete | 1 / 2 | 1 week ago |
'forge clean' running (wd: /tmp/slither-pm8iki53) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-pm8iki53) Reentrancy in SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518): External calls: - newExchange.depositForUser.value(etherAmount)(msg.sender) (contracts/Contract.sol#501-502) - ! IERC20(token).approve(newExchange,tokenAmount) (contracts/Contract.sol#511-512) - newExchange.depositTokenForUser(token,tokenAmount,msg.sender) (contracts/Contract.sol#514-516) External calls sending eth: - newExchange.depositForUser.value(etherAmount)(msg.sender) (contracts/Contract.sol#501-502) State variables written after the call(s): - tokens[token][msg.sender] = 0 (contracts/Contract.sol#513-514) SEEDDEX.tokens (contracts/Contract.sol#115-116) can be used in cross function reentrancies: - SEEDDEX.availableVolume(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) (contracts/Contract.sol#423-433) - SEEDDEX.balanceOf(address,address) (contracts/Contract.sol#288-289) - SEEDDEX.deposit() (contracts/Contract.sol#210-215) - SEEDDEX.depositForUser(address) (contracts/Contract.sol#525-527) - SEEDDEX.depositToken(address,uint256) (contracts/Contract.sol#240-246) - SEEDDEX.depositTokenForUser(address,uint256,address) (contracts/Contract.sol#547-552) - SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518) - SEEDDEX.testTrade(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint256,address) (contracts/Contract.sol#397-404) - SEEDDEX.tokens (contracts/Contract.sol#115-116) - SEEDDEX.tradeBalances(address,uint256,address,uint256,address,uint256) (contracts/Contract.sol#360-381) - SEEDDEX.withdraw(uint256) (contracts/Contract.sol#223-229) - SEEDDEX.withdrawToken(address,uint256) (contracts/Contract.sol#274-281) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities SEEDDEX.order(address,uint256,address,uint256,uint256,uint256).amount (contracts/Contract.sol#311) is a local variable never initialized Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables SEEDDEX.changeAdmin(address) (contracts/Contract.sol#163-168) should emit an event for: - admin = admin_ (contracts/Contract.sol#168) - admin = admin_ (contracts/Contract.sol#168) SEEDDEX.changeManager(address) (contracts/Contract.sol#169-174) should emit an event for: - manager = manager_ (contracts/Contract.sol#174) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-access-control SEEDDEX.changeFeeTakeMaker(uint256) (contracts/Contract.sol#181-185) should emit an event for: - feeTakeMaker = feeTakeMaker_ (contracts/Contract.sol#183-185) SEEDDEX.changeFeeTakeSender(uint256) (contracts/Contract.sol#185-186) should emit an event for: - feeTakeSender = feeTakeSender_ (contracts/Contract.sol#186) SEEDDEX.changeFeeTakeMakerFic(uint256) (contracts/Contract.sol#186-190) should emit an event for: - feeTakeMakerFic = feeTakeMakerFic_ (contracts/Contract.sol#190) SEEDDEX.changeFeeTakeSenderFic(uint256) (contracts/Contract.sol#190-194) should emit an event for: - feeTakeSenderFic = feeTakeSenderFic_ (contracts/Contract.sol#194) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic SEEDDEX.SEEDDEX(address,address,address,uint256,uint256,uint256,uint256,address).admin_ (contracts/Contract.sol#140) lacks a zero-check on : - admin = admin_ (contracts/Contract.sol#145) SEEDDEX.SEEDDEX(address,address,address,uint256,uint256,uint256,uint256,address).manager_ (contracts/Contract.sol#140-141) lacks a zero-check on : - manager = manager_ (contracts/Contract.sol#145) SEEDDEX.SEEDDEX(address,address,address,uint256,uint256,uint256,uint256,address).feeAccount_ (contracts/Contract.sol#141-144) lacks a zero-check on : - feeAccount = feeAccount_ (contracts/Contract.sol#145) SEEDDEX.SEEDDEX(address,address,address,uint256,uint256,uint256,uint256,address).predecessor_ (contracts/Contract.sol#145) lacks a zero-check on : - predecessor = predecessor_ (contracts/Contract.sol#150-151) SEEDDEX.changeFeeAccount(address).feeAccount_ (contracts/Contract.sol#176) lacks a zero-check on : - feeAccount = feeAccount_ (contracts/Contract.sol#177-180) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518) has external calls inside a loop: ! IERC20(token).approve(newExchange,tokenAmount) (contracts/Contract.sol#511-512) SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518) has external calls inside a loop: newExchange.depositTokenForUser(token,tokenAmount,msg.sender) (contracts/Contract.sol#514-516) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop Reentrancy in SEEDDEX.depositToken(address,uint256) (contracts/Contract.sol#240-246): External calls: - ! IERC20(token).transferFrom(msg.sender,this,amount) (contracts/Contract.sol#242-244) State variables written after the call(s): - tokens[token][msg.sender] = SafeMath.add(tokens[token][msg.sender],amount) (contracts/Contract.sol#245) Reentrancy in SEEDDEX.depositTokenForUser(address,uint256,address) (contracts/Contract.sol#547-552): External calls: - ! IERC20(token).transferFrom(msg.sender,this,amount) (contracts/Contract.sol#550-551) State variables written after the call(s): - depositingTokenFlag = false (contracts/Contract.sol#551) - tokens[token][user] = SafeMath.add(tokens[token][user],(amount)) (contracts/Contract.sol#551-552) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2 Reentrancy in SEEDDEX.depositToken(address,uint256) (contracts/Contract.sol#240-246): External calls: - ! IERC20(token).transferFrom(msg.sender,this,amount) (contracts/Contract.sol#242-244) Event emitted after the call(s): - Deposit(token,msg.sender,amount,tokens[token][msg.sender]) (contracts/Contract.sol#245-246) Reentrancy in SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518): External calls: - newExchange.depositForUser.value(etherAmount)(msg.sender) (contracts/Contract.sol#501-502) - ! IERC20(token).approve(newExchange,tokenAmount) (contracts/Contract.sol#511-512) - newExchange.depositTokenForUser(token,tokenAmount,msg.sender) (contracts/Contract.sol#514-516) External calls sending eth: - newExchange.depositForUser.value(etherAmount)(msg.sender) (contracts/Contract.sol#501-502) Event emitted after the call(s): - FundsMigrated(msg.sender,newContract) (contracts/Contract.sol#517-518) Reentrancy in SEEDDEX.withdraw(uint256) (contracts/Contract.sol#223-229): External calls: - ! msg.sender.call.value(amount)() (contracts/Contract.sol#226) Event emitted after the call(s): - Withdraw(0,msg.sender,amount,tokens[0][msg.sender]) (contracts/Contract.sol#227-229) Reentrancy in SEEDDEX.withdrawToken(address,uint256) (contracts/Contract.sol#274-281): External calls: - ! IERC20(token).transfer(msg.sender,amount) (contracts/Contract.sol#277-279) Event emitted after the call(s): - Withdraw(token,msg.sender,amount,tokens[token][msg.sender]) (contracts/Contract.sol#279-280) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3 Deprecated standard detected THROW (contracts/Contract.sol#224): - Usage of "throw" should be replaced with "revert()" Deprecated standard detected THROW (contracts/Contract.sol#226): - Usage of "throw" should be replaced with "revert()" Deprecated standard detected THROW (contracts/Contract.sol#242): - Usage of "throw" should be replaced with "revert()" Deprecated standard detected THROW (contracts/Contract.sol#244): - Usage of "throw" should be replaced with "revert()" Deprecated standard detected THROW (contracts/Contract.sol#274-275): - Usage of "throw" should be replaced with "revert()" Deprecated standard detected THROW (contracts/Contract.sol#276): - Usage of "throw" should be replaced with "revert()" Deprecated standard detected THROW (contracts/Contract.sol#279): - Usage of "throw" should be replaced with "revert()" Deprecated standard detected THROW (contracts/Contract.sol#512): - Usage of "throw" should be replaced with "revert()" Deprecated standard detected THROW (contracts/Contract.sol#551): - Usage of "throw" should be replaced with "revert()" Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards Version constraint ^0.4.25 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - DirtyBytesArrayToStorage - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - privateCanBeOverridden - SignedArrayStorageCopy - ABIEncoderV2StorageArrayWithMultiSlotElement - DynamicConstructorArgumentsClippedABIV2 - UninitializedFunctionPointerInConstructor_0.4.x - IncorrectEventSignatureInLibraries_0.4.x - ABIEncoderV2PackedStorage_0.4.x. It is used by: - ^0.4.25 (contracts/Contract.sol#1) solc-0.4.25 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity Low level call in SEEDDEX.withdraw(uint256) (contracts/Contract.sol#223-229): - ! msg.sender.call.value(amount)() (contracts/Contract.sol#226) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls tokenFallback(address,uint256,bytes) should be declared external: - SEEDDEX.tokenFallback(address,uint256,bytes) (contracts/Contract.sol#255-262) migrateFunds(address,address[]) should be declared external: - SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external . analyzed (3 contracts with 100 detectors), 35 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.4.25",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.4.25",
"install_stderr": null,
"install_stdout": "Version '0.4.25' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-pm8iki53 --allow-paths /tmp/slither-pm8iki53,/tmp/slither-pm8iki53/lib,/tmp/slither-pm8iki53/src",
"remappings": [],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 35,
"workspace_hash": "6d4c4122ce307869d3ad97f5b5ade748b8d24f24fff07c765f747b557be67f58",
"duration_seconds": 0.7354011535644531,
"solc_version_requested": "0.4.25"
}
OpenAI Codex v0.118.0 (research preview) -------- workdir: /tmp/codex-5_uhy1ph model: gpt-5.4 provider: openai approval: never sandbox: read-only reasoning effort: high reasoning summaries: none session id: 019d5c96-614e-7531-95ca-500a9d0e7594 -------- user You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities. Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation, accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall. Scope rules: - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace. - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code. - If there are only dependency files and no first-party sources, set no_findings=true and explain in summary. Output MUST be valid JSON matching the provided schema. - If you find nothing meaningful: set no_findings=true and findings=[]. - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible. Output constraints (IMPORTANT): - severity MUST be exactly one of: info, low, medium, high, critical (lowercase). - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other. Keep summary short and concrete. warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime. ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM. ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
{
"codex": {
"ran_at": "2026-04-05T07:40:54.147349+00:00",
"returncode": 1
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": null,
"no_findings": null,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01cb 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000030: PUSH1 0x00 00000032: CALLDATALOAD 00000033: DIV 00000034: AND 00000035: PUSH3 0x6be1f8 00000039: DUP2 0000003a: EQ 0000003b: PUSH2 0x01dd 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0x0a19b14a 00000045: EQ 00000046: PUSH2 0x0204 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0x0b927666 00000050: EQ 00000051: PUSH2 0x0255 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0x10e5bff8 0000005b: EQ 0000005c: PUSH2 0x0289 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0x187dc587 00000066: EQ 00000067: PUSH2 0x02aa 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0x19774d43 00000071: EQ 00000072: PUSH2 0x02c2 00000075: JUMPI 00000076: DUP1 00000077: PUSH4 0x272396cb 0000007c: EQ 0000007d: PUSH2 0x02e6 00000080: JUMPI 00000081: DUP1 00000082: PUSH4 0x278b8c0e 00000087: EQ 00000088: PUSH2 0x02fb 0000008b: JUMPI 0000008c: DUP1 0000008d: PUSH4 0x2e1a7d4d 00000092: EQ 00000093: PUSH2 0x033c 00000096: JUMPI 00000097: DUP1 00000098: PUSH4 0x338b5dea 0000009d: EQ 0000009e: PUSH2 0x0354 000000a1: JUMPI 000000a2: DUP1 000000a3: PUSH4 0x3c2e2a75 000000a8: EQ 000000a9: PUSH2 0x0378 000000ac: JUMPI 000000ad: DUP1 000000ae: PUSH4 0x46be96c3 000000b3: EQ 000000b4: PUSH2 0x03a3 000000b7: JUMPI 000000b8: DUP1 000000b9: PUSH4 0x481c6a75 000000be: EQ 000000bf: PUSH2 0x03ee 000000c2: JUMPI 000000c3: DUP1 000000c4: PUSH4 0x508493bc 000000c9: EQ 000000ca: PUSH2 0x041f 000000cd: JUMPI 000000ce: DUP1 000000cf: PUSH4 0x515fdde3 000000d4: EQ 000000d5: PUSH2 0x0446 000000d8: JUMPI 000000d9: DUP1 000000da: PUSH4 0x54fd4d50 000000df: EQ 000000e0: PUSH2 0x04a9 000000e3: JUMPI 000000e4: DUP1 000000e5: PUSH4 0x65e17c9d 000000ea: EQ 000000eb: PUSH2 0x04d5 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0x6a523c5e 000000f5: EQ 000000f6: PUSH2 0x04ea 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x6c86888b 00000100: EQ 00000101: PUSH2 0x04fe 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0x6ff968c3 0000010b: EQ 0000010c: PUSH2 0x056c 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x71ffcb16 00000116: EQ 00000117: PUSH2 0x0581 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x776e2525 00000121: EQ 00000122: PUSH2 0x05a2 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x8146dbb7 0000012c: EQ 0000012d: PUSH2 0x05ba 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x8f283970 00000137: EQ 00000138: PUSH2 0x05cf 0000013b: JUMPI 0000013c: DUP1 0000013d: PUSH4 0x93ab48ed 00000142: EQ 00000143: PUSH2 0x05f0 00000146: JUMPI 00000147: DUP1 00000148: PUSH4 0x9e281a98 0000014d: EQ 0000014e: PUSH2 0x0605 00000151: JUMPI 00000152: DUP1 00000153: PUSH4 0xa3fbbaae 00000158: EQ 00000159: PUSH2 0x0629 0000015c: JUMPI 0000015d: DUP1 0000015e: PUSH4 0xb2207ec3 00000163: EQ 00000164: PUSH2 0x064a 00000167: JUMPI 00000168: DUP1 00000169: PUSH4 0xb2ab553a 0000016e: EQ 0000016f: PUSH2 0x0662 00000172: JUMPI 00000173: DUP1 00000174: PUSH4 0xb719d032 00000179: EQ 0000017a: PUSH2 0x067a 0000017d: JUMPI 0000017e: DUP1 0000017f: PUSH4 0xbb5f4629 00000184: EQ 00000185: PUSH2 0x068f 00000188: JUMPI 00000189: DUP1 0000018a: PUSH4 0xc0ee0b8a 0000018f: EQ 00000190: PUSH2 0x06b3 00000193: JUMPI 00000194: DUP1 00000195: PUSH4 0xd0e30db0 0000019a: EQ 0000019b: PUSH2 0x071c 0000019e: JUMPI 0000019f: DUP1 000001a0: PUSH4 0xe4326108 000001a5: EQ 000001a6: PUSH2 0x0724 000001a9: JUMPI 000001aa: DUP1 000001ab: PUSH4 0xf7888aec 000001b0: EQ 000001b1: PUSH2 0x0739 000001b4: JUMPI 000001b5: DUP1 000001b6: PUSH4 0xf851a440 000001bb: EQ 000001bc: PUSH2 0x0760 000001bf: JUMPI 000001c0: DUP1 000001c1: PUSH4 0xfb6e155f 000001c6: EQ 000001c7: PUSH2 0x0775 000001ca: JUMPI 000001cb: JUMPDEST 000001cc: CALLVALUE 000001cd: DUP1 000001ce: ISZERO 000001cf: PUSH2 0x01d7 000001d2: JUMPI 000001d3: PUSH1 0x00 000001d5: DUP1 000001d6: REVERT 000001d7: JUMPDEST 000001d8: POP 000001d9: PUSH1 0x00 000001db: DUP1 000001dc: REVERT 000001dd: JUMPDEST 000001de: CALLVALUE 000001df: DUP1 000001e0: ISZERO 000001e1: PUSH2 0x01e9 000001e4: JUMPI 000001e5: PUSH1 0x00 000001e7: DUP1 000001e8: REVERT 000001e9: JUMPDEST 000001ea: POP 000001eb: PUSH2 0x01f2 000001ee: PUSH2 0x07c0 000001f1: JUMP 000001f2: JUMPDEST 000001f3: PUSH1 0x40 000001f5: DUP1 000001f6: MLOAD 000001f7: SWAP2 000001f8: DUP3 000001f9: MSTORE 000001fa: MLOAD 000001fb: SWAP1 000001fc: DUP2 000001fd: SWAP1 000001fe: SUB 000001ff: PUSH1 0x20 00000201: ADD 00000202: SWAP1 00000203: RETURN 00000204: JUMPDEST 00000205: CALLVALUE 00000206: DUP1 00000207: ISZERO 00000208: PUSH2 0x0210 0000020b: JUMPI 0000020c: PUSH1 0x00 0000020e: DUP1 0000020f: REVERT 00000210: JUMPDEST 00000211: POP 00000212: PUSH2 0x0253 00000215: PUSH1 0x01 00000217: PUSH1 0xa0 00000219: PUSH1 0x02 0000021b: EXP 0000021c: SUB 0000021d: PUSH1 0x04 0000021f: CALLDATALOAD 00000220: DUP2 00000221: AND 00000222: SWAP1 00000223: PUSH1 0x24 00000225: CALLDATALOAD 00000226: SWAP1 00000227: PUSH1 0x44 00000229: CALLDATALOAD 0000022a: DUP2 0000022b: AND 0000022c: SWAP1 0000022d: PUSH1 0x64 0000022f: CALLDATALOAD 00000230: SWAP1 00000231: PUSH1 0x84 00000233: CALLDATALOAD 00000234: SWAP1 00000235: PUSH1 0xa4 00000237: CALLDATALOAD 00000238: SWAP1 00000239: PUSH1 0xc4 0000023b: CALLDATALOAD 0000023c: AND 0000023d: PUSH1 0xff 0000023f: PUSH1 0xe4 00000241: CALLDATALOAD 00000242: AND 00000243: PUSH2 0x0104 00000246: CALLDATALOAD 00000247: PUSH2 0x0124 0000024a: CALLDATALOAD 0000024b: PUSH2 0x0144 0000024e: CALLDATALOAD 0000024f: PUSH2 0x07c6 00000252: JUMP 00000253: JUMPDEST 00000254: STOP 00000255: JUMPDEST 00000256: CALLVALUE 00000257: DUP1 00000258: ISZERO 00000259: PUSH2 0x0261 0000025c: JUMPI 0000025d: PUSH1 0x00 0000025f: DUP1 00000260: REVERT 00000261: JUMPDEST 00000262: POP 00000263: PUSH2 0x0253 00000266: PUSH1 0x01 00000268: PUSH1 0xa0 0000026a: PUSH1 0x02 0000026c: EXP 0000026d: SUB 0000026e: PUSH1 0x04 00000270: CALLDATALOAD 00000271: DUP2 00000272: AND 00000273: SWAP1 00000274: PUSH1 0x24 00000276: CALLDATALOAD 00000277: SWAP1 00000278: PUSH1 0x44 0000027a: CALLDATALOAD 0000027b: AND 0000027c: PUSH1 0x64 0000027e: CALLDATALOAD 0000027f: PUSH1 0x84 00000281: CALLDATALOAD 00000282: PUSH1 0xa4 00000284: CALLDATALOAD 00000285: PUSH2 0x0a2a 00000288: JUMP 00000289: JUMPDEST 0000028a: CALLVALUE 0000028b: DUP1 0000028c: ISZERO 0000028d: PUSH2 0x0295 00000290: JUMPI 00000291: PUSH1 0x00 00000293: DUP1 00000294: REVERT 00000295: JUMPDEST 00000296: POP 00000297: PUSH2 0x0253 0000029a: PUSH1 0x01 0000029c: PUSH1 0xa0 0000029e: PUSH1 0x02 000002a0: EXP 000002a1: SUB 000002a2: PUSH1 0x04 000002a4: CALLDATALOAD 000002a5: AND 000002a6: PUSH2 0x0b16 000002a9: JUMP 000002aa: JUMPDEST 000002ab: CALLVALUE 000002ac: DUP1 000002ad: ISZERO 000002ae: PUSH2 0x02b6 000002b1: JUMPI 000002b2: PUSH1 0x00 000002b4: DUP1 000002b5: REVERT 000002b6: JUMPDEST 000002b7: POP 000002b8: PUSH2 0x0253 000002bb: PUSH1 0x04 000002bd: CALLDATALOAD 000002be: PUSH2 0x0b71 000002c1: JUMP 000002c2: JUMPDEST 000002c3: CALLVALUE 000002c4: DUP1 000002c5: ISZERO 000002c6: PUSH2 0x02ce 000002c9: JUMPI 000002ca: PUSH1 0x00 000002cc: DUP1 000002cd: REVERT 000002ce: JUMPDEST 000002cf: POP 000002d0: PUSH2 0x01f2 000002d3: PUSH1 0x01 000002d5: PUSH1 0xa0 000002d7: PUSH1 0x02 000002d9: EXP 000002da: SUB 000002db: PUSH1 0x04 000002dd: CALLDATALOAD 000002de: AND 000002df: PUSH1 0x24 000002e1: CALLDATALOAD 000002e2: PUSH2 0x0ba4 000002e5: JUMP 000002e6: JUMPDEST 000002e7: CALLVALUE 000002e8: DUP1 000002e9: ISZERO 000002ea: PUSH2 0x02f2 000002ed: JUMPI 000002ee: PUSH1 0x00 000002f0: DUP1 000002f1: REVERT 000002f2: JUMPDEST 000002f3: POP 000002f4: PUSH2 0x01f2 000002f7: PUSH2 0x0bc1 000002fa: JUMP 000002fb: JUMPDEST 000002fc: CALLVALUE 000002fd: DUP1 000002fe: ISZERO 000002ff: PUSH2 0x0307 00000302: JUMPI 00000303: PUSH1 0x00 00000305: DUP1 00000306: REVERT 00000307: JUMPDEST 00000308: POP 00000309: PUSH2 0x0253 0000030c: PUSH1 0x01 0000030e: PUSH1 0xa0 00000310: PUSH1 0x02 00000312: EXP 00000313: SUB 00000314: PUSH1 0x04 00000316: CALLDATALOAD 00000317: DUP2 00000318: AND 00000319: SWAP1 0000031a: PUSH1 0x24 0000031c: CALLDATALOAD 0000031d: SWAP1 0000031e: PUSH1 0x44 00000320: CALLDATALOAD 00000321: AND 00000322: PUSH1 0x64 00000324: CALLDATALOAD 00000325: PUSH1 0x84 00000327: CALLDATALOAD 00000328: PUSH1 0xa4 0000032a: CALLDATALOAD 0000032b: PUSH1 0xff 0000032d: PUSH1 0xc4 0000032f: CALLDATALOAD 00000330: AND 00000331: PUSH1 0xe4 00000333: CALLDATALOAD 00000334: PUSH2 0x0104 00000337: CALLDATALOAD 00000338: PUSH2 0x0bc7 0000033b: JUMP 0000033c: JUMPDEST 0000033d: CALLVALUE 0000033e: DUP1 0000033f: ISZERO 00000340: PUSH2 0x0348 00000343: JUMPI 00000344: PUSH1 0x00 00000346: DUP1 00000347: REVERT 00000348: JUMPDEST 00000349: POP 0000034a: PUSH2 0x0253 0000034d: PUSH1 0x04 0000034f: CALLDATALOAD 00000350: PUSH2 0x0d92 00000353: JUMP 00000354: JUMPDEST 00000355: CALLVALUE 00000356: DUP1 00000357: ISZERO 00000358: PUSH2 0x0360 0000035b: JUMPI 0000035c: PUSH1 0x00 0000035e: DUP1 0000035f: REVERT 00000360: JUMPDEST 00000361: POP 00000362: PUSH2 0x0253 00000365: PUSH1 0x01 00000367: PUSH1 0xa0 00000369: PUSH1 0x02 0000036b: EXP 0000036c: SUB 0000036d: PUSH1 0x04 0000036f: CALLDATALOAD 00000370: AND 00000371: PUSH1 0x24 00000373: CALLDATALOAD 00000374: PUSH2 0x0e80 00000377: JUMP 00000378: JUMPDEST 00000379: CALLVALUE 0000037a: DUP1 0000037b: ISZERO 0000037c: PUSH2 0x0384 0000037f: JUMPI 00000380: PUSH1 0x00 00000382: DUP1 00000383: REVERT 00000384: JUMPDEST 00000385: POP 00000386: PUSH2 0x0253 00000389: PUSH1 0x01 0000038b: PUSH1 0xa0 0000038d: PUSH1 0x02 0000038f: EXP 00000390: SUB 00000391: PUSH1 0x04 00000393: CALLDATALOAD 00000394: DUP2 00000395: AND 00000396: SWAP1 00000397: PUSH1 0x24 00000399: CALLDATALOAD 0000039a: SWAP1 0000039b: PUSH1 0x44 0000039d: CALLDATALOAD 0000039e: AND 0000039f: PUSH2 0x0fd3 000003a2: JUMP 000003a3: JUMPDEST 000003a4: CALLVALUE 000003a5: DUP1 000003a6: ISZERO 000003a7: PUSH2 0x03af 000003aa: JUMPI 000003ab: PUSH1 0x00 000003ad: DUP1 000003ae: REVERT 000003af: JUMPDEST 000003b0: POP 000003b1: PUSH2 0x01f2 000003b4: PUSH1 0x01 000003b6: PUSH1 0xa0 000003b8: PUSH1 0x02 000003ba: EXP 000003bb: SUB 000003bc: PUSH1 0x04 000003be: CALLDATALOAD 000003bf: DUP2 000003c0: AND 000003c1: SWAP1 000003c2: PUSH1 0x24 000003c4: CALLDATALOAD 000003c5: SWAP1 000003c6: PUSH1 0x44 000003c8: CALLDATALOAD 000003c9: DUP2 000003ca: AND 000003cb: SWAP1 000003cc: PUSH1 0x64 000003ce: CALLDATALOAD 000003cf: SWAP1 000003d0: PUSH1 0x84 000003d2: CALLDATALOAD 000003d3: SWAP1 000003d4: PUSH1 0xa4 000003d6: CALLDATALOAD 000003d7: SWAP1 000003d8: PUSH1 0xc4 000003da: CALLDATALOAD 000003db: AND 000003dc: PUSH1 0xff 000003de: PUSH1 0xe4 000003e0: CALLDATALOAD 000003e1: AND 000003e2: PUSH2 0x0104 000003e5: CALLDATALOAD 000003e6: PUSH2 0x0124 000003e9: CALLDATALOAD 000003ea: PUSH2 0x1126 000003ed: JUMP 000003ee: JUMPDEST 000003ef: CALLVALUE 000003f0: DUP1 000003f1: ISZERO 000003f2: PUSH2 0x03fa 000003f5: JUMPI 000003f6: PUSH1 0x00 000003f8: DUP1 000003f9: REVERT 000003fa: JUMPDEST 000003fb: POP 000003fc: PUSH2 0x0403 000003ff: PUSH2 0x11a4 00000402: JUMP 00000403: JUMPDEST 00000404: PUSH1 0x40 00000406: DUP1 00000407: MLOAD 00000408: PUSH1 0x01 0000040a: PUSH1 0xa0 0000040c: PUSH1 0x02 0000040e: EXP 0000040f: SUB 00000410: SWAP1 00000411: SWAP3 00000412: AND 00000413: DUP3 00000414: MSTORE 00000415: MLOAD 00000416: SWAP1 00000417: DUP2 00000418: SWAP1 00000419: SUB 0000041a: PUSH1 0x20 0000041c: ADD 0000041d: SWAP1 0000041e: RETURN 0000041f: JUMPDEST 00000420: CALLVALUE 00000421: DUP1 00000422: ISZERO 00000423: PUSH2 0x042b 00000426: JUMPI 00000427: PUSH1 0x00 00000429: DUP1 0000042a: REVERT 0000042b: JUMPDEST 0000042c: POP 0000042d: PUSH2 0x01f2 00000430: PUSH1 0x01 00000432: PUSH1 0xa0 00000434: PUSH1 0x02 00000436: EXP 00000437: SUB 00000438: PUSH1 0x04 0000043a: CALLDATALOAD 0000043b: DUP2 0000043c: AND 0000043d: SWAP1 0000043e: PUSH1 0x24 00000440: CALLDATALOAD 00000441: AND 00000442: PUSH2 0x11b3 00000445: JUMP 00000446: JUMPDEST 00000447: CALLVALUE 00000448: DUP1 00000449: ISZERO 0000044a: PUSH2 0x0452 0000044d: JUMPI 0000044e: PUSH1 0x00 00000450: DUP1 00000451: REVERT 00000452: JUMPDEST 00000453: POP 00000454: PUSH1 0x40 00000456: DUP1 00000457: MLOAD 00000458: PUSH1 0x20 0000045a: PUSH1 0x04 0000045c: PUSH1 0x24 0000045e: DUP1 0000045f: CALLDATALOAD 00000460: DUP3 00000461: DUP2 00000462: ADD 00000463: CALLDATALOAD 00000464: DUP5 00000465: DUP2 00000466: MUL 00000467: DUP1 00000468: DUP8 00000469: ADD 0000046a: DUP7 0000046b: ADD 0000046c: SWAP1 0000046d: SWAP8 0000046e: MSTORE 0000046f: DUP1 00000470: DUP7 00000471: MSTORE 00000472: PUSH2 0x0253 00000475: SWAP7 00000476: DUP5 00000477: CALLDATALOAD 00000478: PUSH1 0x01 0000047a: PUSH1 0xa0 0000047c: PUSH1 0x02 0000047e: EXP 0000047f: SUB 00000480: AND 00000481: SWAP7 00000482: CALLDATASIZE 00000483: SWAP7 00000484: PUSH1 0x44 00000486: SWAP6 00000487: SWAP2 00000488: SWAP5 00000489: SWAP1 0000048a: SWAP2 0000048b: ADD 0000048c: SWAP3 0000048d: SWAP2 0000048e: DUP3 0000048f: SWAP2 00000490: DUP6 00000491: ADD 00000492: SWAP1 00000493: DUP5 00000494: SWAP1 00000495: DUP1 00000496: DUP3 00000497: DUP5 00000498: CALLDATACOPY 00000499: POP 0000049a: SWAP5 0000049b: SWAP8 0000049c: POP 0000049d: PUSH2 0x11d0 000004a0: SWAP7 000004a1: POP 000004a2: POP 000004a3: POP 000004a4: POP 000004a5: POP 000004a6: POP 000004a7: POP 000004a8: JUMP 000004a9: JUMPDEST 000004aa: CALLVALUE 000004ab: DUP1 000004ac: ISZERO 000004ad: PUSH2 0x04b5 000004b0: JUMPI 000004b1: PUSH1 0x00 000004b3: DUP1 000004b4: REVERT 000004b5: JUMPDEST 000004b6: POP 000004b7: PUSH2 0x04be 000004ba: PUSH2 0x14c5 000004bd: JUMP 000004be: JUMPDEST 000004bf: PUSH1 0x40 000004c1: DUP1 000004c2: MLOAD 000004c3: PUSH2 0xffff 000004c6: SWAP1 000004c7: SWAP3 000004c8: AND 000004c9: DUP3 000004ca: MSTORE 000004cb: MLOAD 000004cc: SWAP1 000004cd: DUP2 000004ce: SWAP1 000004cf: SUB 000004d0: PUSH1 0x20 000004d2: ADD 000004d3: SWAP1 000004d4: RETURN 000004d5: JUMPDEST 000004d6: CALLVALUE 000004d7: DUP1 000004d8: ISZERO 000004d9: PUSH2 0x04e1 000004dc: JUMPI 000004dd: PUSH1 0x00 000004df: DUP1 000004e0: REVERT 000004e1: JUMPDEST 000004e2: POP 000004e3: PUSH2 0x0403 000004e6: PUSH2 0x14e7 000004e9: JUMP 000004ea: JUMPDEST 000004eb: PUSH2 0x0253 000004ee: PUSH1 0x01 000004f0: PUSH1 0xa0 000004f2: PUSH1 0x02 000004f4: EXP 000004f5: SUB 000004f6: PUSH1 0x04 000004f8: CALLDATALOAD 000004f9: AND 000004fa: PUSH2 0x14f6 000004fd: JUMP 000004fe: JUMPDEST 000004ff: CALLVALUE 00000500: DUP1 00000501: ISZERO 00000502: PUSH2 0x050a 00000505: JUMPI 00000506: PUSH1 0x00 00000508: DUP1 00000509: REVERT 0000050a: JUMPDEST 0000050b: POP 0000050c: PUSH2 0x0558 0000050f: PUSH1 0x01 00000511: PUSH1 0xa0 00000513: PUSH1 0x02 00000515: EXP 00000516: SUB 00000517: PUSH1 0x04 00000519: CALLDATALOAD 0000051a: DUP2 0000051b: AND 0000051c: SWAP1 0000051d: PUSH1 0x24 0000051f: CALLDATALOAD 00000520: SWAP1 00000521: PUSH1 0x44 00000523: CALLDATALOAD 00000524: DUP2 00000525: AND 00000526: SWAP1 00000527: PUSH1 0x64 00000529: CALLDATALOAD 0000052a: SWAP1 0000052b: PUSH1 0x84 0000052d: CALLDATALOAD 0000052e: SWAP1 0000052f: PUSH1 0xa4 00000531: CALLDATALOAD 00000532: SWAP1 00000533: PUSH1 0xc4 00000535: CALLDATALOAD 00000536: DUP2 00000537: AND 00000538: SWAP1 00000539: PUSH1 0xff 0000053b: PUSH1 0xe4 0000053d: CALLDATALOAD 0000053e: AND 0000053f: SWAP1 00000540: PUSH2 0x0104 00000543: CALLDATALOAD 00000544: SWAP1 00000545: PUSH2 0x0124 00000548: CALLDATALOAD 00000549: SWAP1 0000054a: PUSH2 0x0144 0000054d: CALLDATALOAD 0000054e: SWAP1 0000054f: PUSH2 0x0164 00000552: CALLDATALOAD 00000553: AND 00000554: PUSH2 0x1572 00000557: JUMP 00000558: JUMPDEST 00000559: PUSH1 0x40 0000055b: DUP1 0000055c: MLOAD 0000055d: SWAP2 0000055e: ISZERO 0000055f: ISZERO 00000560: DUP3 00000561: MSTORE 00000562: MLOAD 00000563: SWAP1 00000564: DUP2 00000565: SWAP1 00000566: SUB 00000567: PUSH1 0x20 00000569: ADD 0000056a: SWAP1 0000056b: RETURN 0000056c: JUMPDEST 0000056d: CALLVALUE 0000056e: DUP1 0000056f: ISZERO 00000570: PUSH2 0x0578 00000573: JUMPI 00000574: PUSH1 0x00 00000576: DUP1 00000577: REVERT 00000578: JUMPDEST 00000579: POP 0000057a: PUSH2 0x0403 0000057d: PUSH2 0x15dc 00000580: JUMP 00000581: JUMPDEST 00000582: CALLVALUE 00000583: DUP1 00000584: ISZERO 00000585: PUSH2 0x058d 00000588: JUMPI 00000589: PUSH1 0x00 0000058b: DUP1 0000058c: REVERT 0000058d: JUMPDEST 0000058e: POP 0000058f: PUSH2 0x0253 00000592: PUSH1 0x01 00000594: PUSH1 0xa0 00000596: PUSH1 0x02 00000598: EXP 00000599: SUB 0000059a: PUSH1 0x04 0000059c: CALLDATALOAD 0000059d: AND 0000059e: PUSH2 0x15eb 000005a1: JUMP 000005a2: JUMPDEST 000005a3: CALLVALUE 000005a4: DUP1 000005a5: ISZERO 000005a6: PUSH2 0x05ae 000005a9: JUMPI 000005aa: PUSH1 0x00 000005ac: DUP1 000005ad: REVERT 000005ae: JUMPDEST 000005af: POP 000005b0: PUSH2 0x0253 000005b3: PUSH1 0x04 000005b5: CALLDATALOAD 000005b6: PUSH2 0x1631 000005b9: JUMP 000005ba: JUMPDEST 000005bb: CALLVALUE 000005bc: DUP1 000005bd: ISZERO 000005be: PUSH2 0x05c6 000005c1: JUMPI 000005c2: PUSH1 0x00 000005c4: DUP1 000005c5: REVERT 000005c6: JUMPDEST 000005c7: POP 000005c8: PUSH2 0x01f2 000005cb: PUSH2 0x1664 000005ce: JUMP 000005cf: JUMPDEST 000005d0: CALLVALUE 000005d1: DUP1 000005d2: ISZERO 000005d3: PUSH2 0x05db 000005d6: JUMPI 000005d7: PUSH1 0x00 000005d9: DUP1 000005da: REVERT 000005db: JUMPDEST 000005dc: POP 000005dd: PUSH2 0x0253 000005e0: PUSH1 0x01 000005e2: PUSH1 0xa0 000005e4: PUSH1 0x02 000005e6: EXP 000005e7: SUB 000005e8: PUSH1 0x04 000005ea: CALLDATALOAD 000005eb: AND 000005ec: PUSH2 0x166a 000005ef: JUMP 000005f0: JUMPDEST 000005f1: CALLVALUE 000005f2: DUP1 000005f3: ISZERO 000005f4: PUSH2 0x05fc 000005f7: JUMPI 000005f8: PUSH1 0x00 000005fa: DUP1 000005fb: REVERT 000005fc: JUMPDEST 000005fd: POP 000005fe: PUSH2 0x01f2 00000601: PUSH2 0x16c5 00000604: JUMP 00000605: JUMPDEST 00000606: CALLVALUE 00000607: DUP1 00000608: ISZERO 00000609: PUSH2 0x0611 0000060c: JUMPI 0000060d: PUSH1 0x00 0000060f: DUP1 00000610: REVERT 00000611: JUMPDEST 00000612: POP 00000613: PUSH2 0x0253 00000616: PUSH1 0x01 00000618: PUSH1 0xa0 0000061a: PUSH1 0x02 0000061c: EXP 0000061d: SUB 0000061e: PUSH1 0x04 00000620: CALLDATALOAD 00000621: AND 00000622: PUSH1 0x24 00000624: CALLDATALOAD 00000625: PUSH2 0x16cb 00000628: JUMP 00000629: JUMPDEST 0000062a: CALLVALUE 0000062b: DUP1 0000062c: ISZERO 0000062d: PUSH2 0x0635 00000630: JUMPI 00000631: PUSH1 0x00 00000633: DUP1 00000634: REVERT 00000635: JUMPDEST 00000636: POP 00000637: PUSH2 0x0253 0000063a: PUSH1 0x01 0000063c: PUSH1 0xa0 0000063e: PUSH1 0x02 00000640: EXP 00000641: SUB 00000642: PUSH1 0x04 00000644: CALLDATALOAD 00000645: AND 00000646: PUSH2 0x1864 00000649: JUMP 0000064a: JUMPDEST 0000064b: CALLVALUE 0000064c: DUP1 0000064d: ISZERO 0000064e: PUSH2 0x0656 00000651: JUMPI 00000652: PUSH1 0x00 00000654: DUP1 00000655: REVERT 00000656: JUMPDEST 00000657: POP 00000658: PUSH2 0x0253 0000065b: PUSH1 0x04 0000065d: CALLDATALOAD 0000065e: PUSH2 0x18d6 00000661: JUMP 00000662: JUMPDEST 00000663: CALLVALUE 00000664: DUP1 00000665: ISZERO 00000666: PUSH2 0x066e 00000669: JUMPI 0000066a: PUSH1 0x00 0000066c: DUP1 0000066d: REVERT 0000066e: JUMPDEST 0000066f: POP 00000670: PUSH2 0x0253 00000673: PUSH1 0x04 00000675: CALLDATALOAD 00000676: PUSH2 0x1909 00000679: JUMP 0000067a: JUMPDEST 0000067b: CALLVALUE 0000067c: DUP1 0000067d: ISZERO 0000067e: PUSH2 0x0686 00000681: JUMPI 00000682: PUSH1 0x00 00000684: DUP1 00000685: REVERT 00000686: JUMPDEST 00000687: POP 00000688: PUSH2 0x0403 0000068b: PUSH2 0x193c 0000068e: JUMP 0000068f: JUMPDEST 00000690: CALLVALUE 00000691: DUP1 00000692: ISZERO 00000693: PUSH2 0x069b 00000696: JUMPI 00000697: PUSH1 0x00 00000699: DUP1 0000069a: REVERT 0000069b: JUMPDEST 0000069c: POP 0000069d: PUSH2 0x0558 000006a0: PUSH1 0x01 000006a2: PUSH1 0xa0 000006a4: PUSH1 0x02 000006a6: EXP 000006a7: SUB 000006a8: PUSH1 0x04 000006aa: CALLDATALOAD 000006ab: AND 000006ac: PUSH1 0x24 000006ae: CALLDATALOAD 000006af: PUSH2 0x194b 000006b2: JUMP 000006b3: JUMPDEST 000006b4: CALLVALUE 000006b5: DUP1 000006b6: ISZERO 000006b7: PUSH2 0x06bf 000006ba: JUMPI 000006bb: PUSH1 0x00 000006bd: DUP1 000006be: REVERT 000006bf: JUMPDEST 000006c0: POP 000006c1: PUSH1 0x40 000006c3: DUP1 000006c4: MLOAD 000006c5: PUSH1 0x20 000006c7: PUSH1 0x04 000006c9: PUSH1 0x44 000006cb: CALLDATALOAD 000006cc: DUP2 000006cd: DUP2 000006ce: ADD 000006cf: CALLDATALOAD 000006d0: PUSH1 0x1f 000006d2: DUP2 000006d3: ADD 000006d4: DUP5 000006d5: SWAP1 000006d6: DIV 000006d7: DUP5 000006d8: MUL 000006d9: DUP6 000006da: ADD 000006db: DUP5 000006dc: ADD 000006dd: SWAP1 000006de: SWAP6 000006df: MSTORE 000006e0: DUP5 000006e1: DUP5 000006e2: MSTORE 000006e3: PUSH2 0x0558 000006e6: SWAP5 000006e7: DUP3 000006e8: CALLDATALOAD 000006e9: PUSH1 0x01 000006eb: PUSH1 0xa0 000006ed: PUSH1 0x02 000006ef: EXP 000006f0: SUB 000006f1: AND 000006f2: SWAP5 000006f3: PUSH1 0x24 000006f5: DUP1 000006f6: CALLDATALOAD 000006f7: SWAP6 000006f8: CALLDATASIZE 000006f9: SWAP6 000006fa: SWAP5 000006fb: PUSH1 0x64 000006fd: SWAP5 000006fe: SWAP3 000006ff: ADD 00000700: SWAP2 00000701: SWAP1 00000702: DUP2 00000703: SWAP1 00000704: DUP5 00000705: ADD 00000706: DUP4 00000707: DUP3 00000708: DUP1 00000709: DUP3 0000070a: DUP5 0000070b: CALLDATACOPY 0000070c: POP 0000070d: SWAP5 0000070e: SWAP8 0000070f: POP 00000710: PUSH2 0x196b 00000713: SWAP7 00000714: POP 00000715: POP 00000716: POP 00000717: POP 00000718: POP 00000719: POP 0000071a: POP 0000071b: JUMP 0000071c: JUMPDEST 0000071d: PUSH2 0x0253 00000720: PUSH2 0x198d 00000723: JUMP 00000724: JUMPDEST 00000725: CALLVALUE 00000726: DUP1 00000727: ISZERO 00000728: PUSH2 0x0730 0000072b: JUMPI 0000072c: PUSH1 0x00 0000072e: DUP1 0000072f: REVERT 00000730: JUMPDEST 00000731: POP 00000732: PUSH2 0x0403 00000735: PUSH2 0x1a1e 00000738: JUMP 00000739: JUMPDEST 0000073a: CALLVALUE 0000073b: DUP1 0000073c: ISZERO 0000073d: PUSH2 0x0745 00000740: JUMPI 00000741: PUSH1 0x00 00000743: DUP1 00000744: REVERT 00000745: JUMPDEST 00000746: POP 00000747: PUSH2 0x01f2 0000074a: PUSH1 0x01 0000074c: PUSH1 0xa0 0000074e: PUSH1 0x02 00000750: EXP 00000751: SUB 00000752: PUSH1 0x04 00000754: CALLDATALOAD 00000755: DUP2 00000756: AND 00000757: SWAP1 00000758: PUSH1 0x24 0000075a: CALLDATALOAD 0000075b: AND 0000075c: PUSH2 0x1a36 0000075f: JUMP 00000760: JUMPDEST 00000761: CALLVALUE 00000762: DUP1 00000763: ISZERO 00000764: PUSH2 0x076c 00000767: JUMPI 00000768: PUSH1 0x00 0000076a: DUP1 0000076b: REVERT 0000076c: JUMPDEST 0000076d: POP 0000076e: PUSH2 0x0403 00000771: PUSH2 0x1a61 00000774: JUMP 00000775: JUMPDEST 00000776: CALLVALUE 00000777: DUP1 00000778: ISZERO 00000779: PUSH2 0x0781 0000077c: JUMPI 0000077d: PUSH1 0x00 0000077f: DUP1 00000780: REVERT 00000781: JUMPDEST 00000782: POP 00000783: PUSH2 0x01f2 00000786: PUSH1 0x01 00000788: PUSH1 0xa0 0000078a: PUSH1 0x02 0000078c: EXP 0000078d: SUB 0000078e: PUSH1 0x04 00000790: CALLDATALOAD 00000791: DUP2 00000792: AND 00000793: SWAP1 00000794: PUSH1 0x24 00000796: CALLDATALOAD 00000797: SWAP1 00000798: PUSH1 0x44 0000079a: CALLDATALOAD 0000079b: DUP2 0000079c: AND 0000079d: SWAP1 0000079e: PUSH1 0x64 000007a0: CALLDATALOAD 000007a1: SWAP1 000007a2: PUSH1 0x84 000007a4: CALLDATALOAD 000007a5: SWAP1 000007a6: PUSH1 0xa4 000007a8: CALLDATALOAD 000007a9: SWAP1 000007aa: PUSH1 0xc4 000007ac: CALLDATALOAD 000007ad: AND 000007ae: PUSH1 0xff 000007b0: PUSH1 0xe4 000007b2: CALLDATALOAD 000007b3: AND 000007b4: PUSH2 0x0104 000007b7: CALLDATALOAD 000007b8: PUSH2 0x0124 000007bb: CALLDATALOAD 000007bc: PUSH2 0x1a70 000007bf: JUMP 000007c0: JUMPDEST 000007c1: PUSH1 0x04 000007c3: SLOAD 000007c4: DUP2 000007c5: JUMP 000007c6: JUMPDEST 000007c7: PUSH1 0x40 000007c9: DUP1 000007ca: MLOAD 000007cb: PUSH13 0x01000000000000000000000000 000007d9: ADDRESS 000007da: DUP2 000007db: MUL 000007dc: DUP3 000007dd: MSTORE 000007de: PUSH1 0x01 000007e0: PUSH1 0xa0 000007e2: PUSH1 0x02 000007e4: EXP 000007e5: SUB 000007e6: DUP1 000007e7: DUP16 000007e8: AND 000007e9: DUP3 000007ea: MUL 000007eb: PUSH1 0x14 000007ed: DUP5 000007ee: ADD 000007ef: MSTORE 000007f0: PUSH1 0x28 000007f2: DUP4 000007f3: ADD 000007f4: DUP15 000007f5: SWAP1 000007f6: MSTORE 000007f7: DUP1 000007f8: DUP14 000007f9: AND 000007fa: SWAP1 000007fb: SWAP2 000007fc: MUL 000007fd: PUSH1 0x48 000007ff: DUP4 00000800: ADD 00000801: MSTORE 00000802: PUSH1 0x5c 00000804: DUP3 00000805: ADD 00000806: DUP12 00000807: SWAP1 00000808: MSTORE 00000809: PUSH1 0x7c 0000080b: DUP3 0000080c: ADD 0000080d: DUP11 0000080e: SWAP1 0000080f: MSTORE 00000810: PUSH1 0x9c 00000812: DUP3 00000813: ADD 00000814: DUP10 00000815: SWAP1 00000816: MSTORE 00000817: DUP3 00000818: MLOAD 00000819: SWAP2 0000081a: DUP3 0000081b: SWAP1 0000081c: SUB 0000081d: PUSH1 0xbc 0000081f: ADD 00000820: SWAP1 00000821: SWAP2 00000822: KECCAK256 00000823: SWAP1 00000824: DUP8 00000825: AND 00000826: PUSH1 0x00 00000828: SWAP1 00000829: DUP2 0000082a: MSTORE 0000082b: PUSH1 0x09 0000082d: PUSH1 0x20 0000082f: SWAP1 00000830: DUP2 00000831: MSTORE 00000832: DUP4 00000833: DUP3 00000834: KECCAK256 00000835: DUP4 00000836: DUP4 00000837: MSTORE 00000838: SWAP1 00000839: MSTORE 0000083a: SWAP2 0000083b: SWAP1 0000083c: SWAP2 0000083d: KECCAK256 0000083e: SLOAD 0000083f: PUSH1 0xff 00000841: AND 00000842: DUP1 00000843: PUSH2 0x08f5 00000846: JUMPI 00000847: POP 00000848: PUSH1 0x40 0000084a: DUP1 0000084b: MLOAD 0000084c: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 0000086d: DUP2 0000086e: MSTORE 0000086f: PUSH1 0x1c 00000871: DUP2 00000872: ADD 00000873: DUP4 00000874: SWAP1 00000875: MSTORE 00000876: DUP2 00000877: MLOAD 00000878: SWAP1 00000879: DUP2 0000087a: SWAP1 0000087b: SUB 0000087c: PUSH1 0x3c 0000087e: ADD 0000087f: DUP2 00000880: KECCAK256 00000881: PUSH1 0x00 00000883: DUP1 00000884: DUP4 00000885: MSTORE 00000886: PUSH1 0x20 00000888: DUP4 00000889: DUP2 0000088a: ADD 0000088b: DUP1 0000088c: DUP7 0000088d: MSTORE 0000088e: SWAP3 0000088f: SWAP1 00000890: SWAP3 00000891: MSTORE 00000892: PUSH1 0xff 00000894: DUP10 00000895: AND 00000896: DUP4 00000897: DUP6 00000898: ADD 00000899: MSTORE 0000089a: PUSH1 0x60 0000089c: DUP4 0000089d: ADD 0000089e: DUP9 0000089f: SWAP1 000008a0: MSTORE 000008a1: PUSH1 0x80 000008a3: DUP4 000008a4: ADD 000008a5: DUP8 000008a6: SWAP1 000008a7: MSTORE 000008a8: SWAP3 000008a9: MLOAD 000008aa: PUSH1 0x01 000008ac: PUSH1 0xa0 000008ae: PUSH1 0x02 000008b0: EXP 000008b1: SUB 000008b2: DUP11 000008b3: AND 000008b4: SWAP4 000008b5: PUSH1 0x01 000008b7: SWAP4 000008b8: PUSH1 0xa0 000008ba: DUP1 000008bb: DUP3 000008bc: ADD 000008bd: SWAP5 000008be: SWAP4 000008bf: PUSH1 0x1f 000008c1: NOT 000008c2: DUP2 000008c3: ADD 000008c4: SWAP4 000008c5: SWAP3 000008c6: DUP2 000008c7: SWAP1 000008c8: SUB 000008c9: SWAP1 000008ca: SWAP2 000008cb: ADD 000008cc: SWAP2 000008cd: DUP7 000008ce: GAS 000008cf: CALL 000008d0: ISZERO 000008d1: DUP1 000008d2: ISZERO 000008d3: PUSH2 0x08e0 000008d6: JUMPI 000008d7: RETURNDATASIZE 000008d8: PUSH1 0x00 000008da: DUP1 000008db: RETURNDATACOPY 000008dc: RETURNDATASIZE 000008dd: PUSH1 0x00 000008df: REVERT 000008e0: JUMPDEST 000008e1: POP 000008e2: POP 000008e3: POP 000008e4: PUSH1 0x20 000008e6: PUSH1 0x40 000008e8: MLOAD 000008e9: SUB 000008ea: MLOAD 000008eb: PUSH1 0x01 000008ed: PUSH1 0xa0 000008ef: PUSH1 0x02 000008f1: EXP 000008f2: SUB 000008f3: AND 000008f4: EQ 000008f5: JUMPDEST 000008f6: DUP1 000008f7: ISZERO 000008f8: PUSH2 0x0901 000008fb: JUMPI 000008fc: POP 000008fd: DUP8 000008fe: NUMBER 000008ff: GT 00000900: ISZERO 00000901: JUMPDEST 00000902: DUP1 00000903: ISZERO 00000904: PUSH2 0x093b 00000907: JUMPI 00000908: POP 00000909: PUSH1 0x01 0000090b: PUSH1 0xa0 0000090d: PUSH1 0x02 0000090f: EXP 00000910: SUB 00000911: DUP7 00000912: AND 00000913: PUSH1 0x00 00000915: SWAP1 00000916: DUP2 00000917: MSTORE 00000918: PUSH1 0x0a 0000091a: PUSH1 0x20 0000091c: SWAP1 0000091d: DUP2 0000091e: MSTORE 0000091f: PUSH1 0x40 00000921: DUP1 00000922: DUP4 00000923: KECCAK256 00000924: DUP5 00000925: DUP5 00000926: MSTORE 00000927: SWAP1 00000928: SWAP2 00000929: MSTORE 0000092a: SWAP1 0000092b: KECCAK256 0000092c: SLOAD 0000092d: DUP12 0000092e: SWAP1 0000092f: PUSH2 0x0938 00000932: SWAP1 00000933: DUP5 00000934: PUSH2 0x1ce5 00000937: JUMP 00000938: JUMPDEST 00000939: GT 0000093a: ISZERO 0000093b: JUMPDEST 0000093c: ISZERO 0000093d: ISZERO 0000093e: PUSH2 0x0946 00000941: JUMPI 00000942: PUSH1 0x00 00000944: DUP1 00000945: REVERT 00000946: JUMPDEST 00000947: PUSH2 0x0954 0000094a: DUP13 0000094b: DUP13 0000094c: DUP13 0000094d: DUP13 0000094e: DUP11 0000094f: DUP8 00000950: PUSH2 0x1d02 00000953: JUMP 00000954: JUMPDEST 00000955: PUSH1 0x01 00000957: PUSH1 0xa0 00000959: PUSH1 0x02 0000095b: EXP 0000095c: SUB 0000095d: DUP7 0000095e: AND 0000095f: PUSH1 0x00 00000961: SWAP1 00000962: DUP2 00000963: MSTORE 00000964: PUSH1 0x0a 00000966: PUSH1 0x20 00000968: SWAP1 00000969: DUP2 0000096a: MSTORE 0000096b: PUSH1 0x40 0000096d: DUP1 0000096e: DUP4 0000096f: KECCAK256 00000970: DUP5 00000971: DUP5 00000972: MSTORE 00000973: SWAP1 00000974: SWAP2 00000975: MSTORE 00000976: SWAP1 00000977: KECCAK256 00000978: SLOAD 00000979: PUSH2 0x0982 0000097c: SWAP1 0000097d: DUP4 0000097e: PUSH2 0x1ce5 00000981: JUMP 00000982: JUMPDEST 00000983: PUSH1 0x01 00000985: PUSH1 0xa0 00000987: PUSH1 0x02 00000989: EXP 0000098a: SUB 0000098b: DUP8 0000098c: AND 0000098d: PUSH1 0x00 0000098f: SWAP1 00000990: DUP2 00000991: MSTORE 00000992: PUSH1 0x0a 00000994: PUSH1 0x20 00000996: SWAP1 00000997: DUP2 00000998: MSTORE 00000999: PUSH1 0x40 0000099b: DUP1 0000099c: DUP4 0000099d: KECCAK256 0000099e: DUP6 0000099f: DUP5 000009a0: MSTORE 000009a1: SWAP1 000009a2: SWAP2 000009a3: MSTORE 000009a4: SWAP1 000009a5: KECCAK256 000009a6: SSTORE 000009a7: PUSH32 0x3314c351c2a2a45771640a1442b843167a4da29bd543612311c031bbfb4ffa98 000009c8: DUP13 000009c9: DUP4 000009ca: DUP13 000009cb: DUP15 000009cc: DUP14 000009cd: DUP4 000009ce: MUL 000009cf: DUP2 000009d0: ISZERO 000009d1: ISZERO 000009d2: PUSH2 0x09d7 000009d5: JUMPI 000009d6: INVALID 000009d7: JUMPDEST 000009d8: PUSH1 0x40 000009da: DUP1 000009db: MLOAD 000009dc: PUSH1 0x01 000009de: PUSH1 0xa0 000009e0: PUSH1 0x02 000009e2: EXP 000009e3: SUB 000009e4: SWAP7 000009e5: DUP8 000009e6: AND 000009e7: DUP2 000009e8: MSTORE 000009e9: PUSH1 0x20 000009eb: DUP2 000009ec: ADD 000009ed: SWAP6 000009ee: SWAP1 000009ef: SWAP6 000009f0: MSTORE 000009f1: SWAP3 000009f2: DUP6 000009f3: AND 000009f4: DUP5 000009f5: DUP5 000009f6: ADD 000009f7: MSTORE 000009f8: DIV 000009f9: PUSH1 0x60 000009fb: DUP4 000009fc: ADD 000009fd: MSTORE 000009fe: SWAP2 000009ff: DUP10 00000a00: AND 00000a01: PUSH1 0x80 00000a03: DUP3 00000a04: ADD 00000a05: MSTORE 00000a06: CALLER 00000a07: PUSH1 0xa0 00000a09: DUP3 00000a0a: ADD 00000a0b: MSTORE 00000a0c: TIMESTAMP 00000a0d: PUSH1 0xc0 00000a0f: DUP3 00000a10: ADD 00000a11: MSTORE 00000a12: SWAP1 00000a13: MLOAD 00000a14: SWAP1 00000a15: DUP2 00000a16: SWAP1 00000a17: SUB 00000a18: PUSH1 0xe0 00000a1a: ADD 00000a1b: SWAP1 00000a1c: LOG1 00000a1d: POP 00000a1e: POP 00000a1f: POP 00000a20: POP 00000a21: POP 00000a22: POP 00000a23: POP 00000a24: POP 00000a25: POP 00000a26: POP 00000a27: POP 00000a28: POP 00000a29: JUMP 00000a2a: JUMPDEST 00000a2b: PUSH1 0x40 00000a2d: DUP1 00000a2e: MLOAD 00000a2f: PUSH13 0x01000000000000000000000000 00000a3d: ADDRESS 00000a3e: DUP2 00000a3f: MUL 00000a40: DUP3 00000a41: MSTORE 00000a42: PUSH1 0x01 00000a44: PUSH1 0xa0 00000a46: PUSH1 0x02 00000a48: EXP 00000a49: SUB 00000a4a: DUP1 00000a4b: DUP11 00000a4c: AND 00000a4d: DUP1 00000a4e: DUP4 00000a4f: MUL 00000a50: PUSH1 0x14 00000a52: DUP6 00000a53: ADD 00000a54: MSTORE 00000a55: PUSH1 0x28 00000a57: DUP5 00000a58: ADD 00000a59: DUP11 00000a5a: SWAP1 00000a5b: MSTORE 00000a5c: SWAP1 00000a5d: DUP9 00000a5e: AND 00000a5f: SWAP2 00000a60: DUP3 00000a61: MUL 00000a62: PUSH1 0x48 00000a64: DUP5 00000a65: ADD 00000a66: MSTORE 00000a67: PUSH1 0x5c 00000a69: DUP4 00000a6a: ADD 00000a6b: DUP8 00000a6c: SWAP1 00000a6d: MSTORE 00000a6e: PUSH1 0x7c 00000a70: DUP4 00000a71: ADD 00000a72: DUP7 00000a73: SWAP1 00000a74: MSTORE 00000a75: PUSH1 0x9c 00000a77: DUP4 00000a78: ADD 00000a79: DUP6 00000a7a: SWAP1 00000a7b: MSTORE 00000a7c: DUP4 00000a7d: MLOAD 00000a7e: SWAP3 00000a7f: DUP4 00000a80: SWAP1 00000a81: SUB 00000a82: PUSH1 0xbc 00000a84: ADD 00000a85: DUP4 00000a86: KECCAK256 00000a87: CALLER 00000a88: PUSH1 0x00 00000a8a: DUP2 00000a8b: DUP2 00000a8c: MSTORE 00000a8d: PUSH1 0x09 00000a8f: PUSH1 0x20 00000a91: SWAP1 00000a92: DUP2 00000a93: MSTORE 00000a94: DUP8 00000a95: DUP3 00000a96: KECCAK256 00000a97: DUP5 00000a98: DUP4 00000a99: MSTORE 00000a9a: DUP2 00000a9b: MSTORE 00000a9c: DUP8 00000a9d: DUP3 00000a9e: KECCAK256 00000a9f: DUP1 00000aa0: SLOAD 00000aa1: PUSH1 0xff 00000aa3: NOT 00000aa4: AND 00000aa5: PUSH1 0x01 00000aa7: OR 00000aa8: SWAP1 00000aa9: SSTORE 00000aaa: SWAP4 00000aab: DUP7 00000aac: MSTORE 00000aad: SWAP3 00000aae: DUP6 00000aaf: ADD 00000ab0: DUP12 00000ab1: SWAP1 00000ab2: MSTORE 00000ab3: DUP5 00000ab4: DUP7 00000ab5: ADD 00000ab6: SWAP4 00000ab7: SWAP1 00000ab8: SWAP4 00000ab9: MSTORE 00000aba: PUSH1 0x60 00000abc: DUP5 00000abd: ADD 00000abe: DUP9 00000abf: SWAP1 00000ac0: MSTORE 00000ac1: PUSH1 0x80 00000ac3: DUP5 00000ac4: ADD 00000ac5: DUP8 00000ac6: SWAP1 00000ac7: MSTORE 00000ac8: PUSH1 0xa0 00000aca: DUP5 00000acb: ADD 00000acc: DUP7 00000acd: SWAP1 00000ace: MSTORE 00000acf: PUSH1 0xc0 00000ad1: DUP5 00000ad2: ADD 00000ad3: DUP2 00000ad4: SWAP1 00000ad5: MSTORE 00000ad6: PUSH1 0xe0 00000ad8: DUP5 00000ad9: ADD 00000ada: DUP3 00000adb: SWAP1 00000adc: MSTORE 00000add: SWAP4 00000ade: MLOAD 00000adf: SWAP1 00000ae0: SWAP3 00000ae1: PUSH32 0xa93976f6b21519d0fbaa09d82403b467d7ebe18bca79db6e9bd0f72b72b7788d 00000b02: SWAP2 00000b03: SWAP1 00000b04: DUP2 00000b05: SWAP1 00000b06: SUB 00000b07: PUSH2 0x0100 00000b0a: ADD 00000b0b: SWAP1 00000b0c: LOG2 00000b0d: POP 00000b0e: POP 00000b0f: POP 00000b10: POP 00000b11: POP 00000b12: POP 00000b13: POP 00000b14: POP 00000b15: JUMP 00000b16: JUMPDEST 00000b17: PUSH1 0x00 00000b19: SLOAD 00000b1a: PUSH1 0x01 00000b1c: PUSH1 0xa0 00000b1e: PUSH1 0x02 00000b20: EXP 00000b21: SUB 00000b22: AND 00000b23: CALLER 00000b24: EQ 00000b25: PUSH2 0x0b2d 00000b28: JUMPI 00000b29: PUSH1 0x00 00000b2b: DUP1 00000b2c: REVERT 00000b2d: JUMPDEST 00000b2e: PUSH1 0x01 00000b30: PUSH1 0xa0 00000b32: PUSH1 0x02 00000b34: EXP 00000b35: SUB 00000b36: DUP2 00000b37: AND 00000b38: ISZERO 00000b39: ISZERO 00000b3a: PUSH2 0x0b42 00000b3d: JUMPI 00000b3e: PUSH1 0x00 00000b40: DUP1 00000b41: REVERT 00000b42: JUMPDEST 00000b43: PUSH1 0x0c 00000b45: DUP1 00000b46: SLOAD 00000b47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b5c: NOT 00000b5d: AND 00000b5e: PUSH1 0x01 00000b60: PUSH1 0xa0 00000b62: PUSH1 0x02 00000b64: EXP 00000b65: SUB 00000b66: SWAP3 00000b67: SWAP1 00000b68: SWAP3 00000b69: AND 00000b6a: SWAP2 00000b6b: SWAP1 00000b6c: SWAP2 00000b6d: OR 00000b6e: SWAP1 00000b6f: SSTORE 00000b70: JUMP 00000b71: JUMPDEST 00000b72: PUSH1 0x01 00000b74: SLOAD 00000b75: PUSH1 0x01 00000b77: PUSH1 0xa0 00000b79: PUSH1 0x02 00000b7b: EXP 00000b7c: SUB 00000b7d: AND 00000b7e: CALLER 00000b7f: EQ 00000b80: DUP1 00000b81: PUSH2 0x0b94 00000b84: JUMPI 00000b85: POP 00000b86: PUSH1 0x00 00000b88: SLOAD 00000b89: PUSH1 0x01 00000b8b: PUSH1 0xa0 00000b8d: PUSH1 0x02 00000b8f: EXP 00000b90: SUB 00000b91: AND 00000b92: CALLER 00000b93: EQ 00000b94: JUMPDEST 00000b95: ISZERO 00000b96: ISZERO 00000b97: PUSH2 0x0b9f 00000b9a: JUMPI 00000b9b: PUSH1 0x00 00000b9d: DUP1 00000b9e: REVERT 00000b9f: JUMPDEST 00000ba0: PUSH1 0x03 00000ba2: SSTORE 00000ba3: JUMP 00000ba4: JUMPDEST 00000ba5: PUSH1 0x0a 00000ba7: PUSH1 0x20 00000ba9: SWAP1 00000baa: DUP2 00000bab: MSTORE 00000bac: PUSH1 0x00 00000bae: SWAP3 00000baf: DUP4 00000bb0: MSTORE 00000bb1: PUSH1 0x40 00000bb3: DUP1 00000bb4: DUP5 00000bb5: KECCAK256 00000bb6: SWAP1 00000bb7: SWAP2 00000bb8: MSTORE 00000bb9: SWAP1 00000bba: DUP3 00000bbb: MSTORE 00000bbc: SWAP1 00000bbd: KECCAK256 00000bbe: SLOAD 00000bbf: DUP2 00000bc0: JUMP 00000bc1: JUMPDEST 00000bc2: PUSH1 0x03 00000bc4: SLOAD 00000bc5: DUP2 00000bc6: JUMP 00000bc7: JUMPDEST 00000bc8: PUSH1 0x40 00000bca: DUP1 00000bcb: MLOAD 00000bcc: PUSH13 0x01000000000000000000000000 00000bda: ADDRESS 00000bdb: DUP2 00000bdc: MUL 00000bdd: DUP3 00000bde: MSTORE 00000bdf: PUSH1 0x01 00000be1: PUSH1 0xa0 00000be3: PUSH1 0x02 00000be5: EXP 00000be6: SUB 00000be7: DUP1 00000be8: DUP14 00000be9: AND 00000bea: DUP3 00000beb: MUL 00000bec: PUSH1 0x14 00000bee: DUP5 00000bef: ADD 00000bf0: MSTORE 00000bf1: PUSH1 0x28 00000bf3: DUP4 00000bf4: ADD 00000bf5: DUP13 00000bf6: SWAP1 00000bf7: MSTORE 00000bf8: DUP11 00000bf9: AND 00000bfa: MUL 00000bfb: PUSH1 0x48 00000bfd: DUP3 00000bfe: ADD 00000bff: MSTORE 00000c00: PUSH1 0x5c 00000c02: DUP2 00000c03: ADD 00000c04: DUP9 00000c05: SWAP1 00000c06: MSTORE 00000c07: PUSH1 0x7c 00000c09: DUP2 00000c0a: ADD 00000c0b: DUP8 00000c0c: SWAP1 00000c0d: MSTORE 00000c0e: PUSH1 0x9c 00000c10: DUP2 00000c11: ADD 00000c12: DUP7 00000c13: SWAP1 00000c14: MSTORE 00000c15: DUP2 00000c16: MLOAD 00000c17: SWAP1 00000c18: DUP2 00000c19: SWAP1 00000c1a: SUB 00000c1b: PUSH1 0xbc 00000c1d: ADD 00000c1e: SWAP1 00000c1f: KECCAK256 00000c20: CALLER 00000c21: PUSH1 0x00 00000c23: SWAP1 00000c24: DUP2 00000c25: MSTORE 00000c26: PUSH1 0x09 00000c28: PUSH1 0x20 00000c2a: SWAP1 00000c2b: DUP2 00000c2c: MSTORE 00000c2d: DUP4 00000c2e: DUP3 00000c2f: KECCAK256 00000c30: DUP4 00000c31: DUP4 00000c32: MSTORE 00000c33: SWAP1 00000c34: MSTORE 00000c35: SWAP2 00000c36: SWAP1 00000c37: SWAP2 00000c38: KECCAK256 00000c39: SLOAD 00000c3a: PUSH1 0xff 00000c3c: AND 00000c3d: DUP1 00000c3e: PUSH2 0x0ce7 00000c41: JUMPI 00000c42: POP 00000c43: PUSH1 0x40 00000c45: DUP1 00000c46: MLOAD 00000c47: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 00000c68: DUP2 00000c69: MSTORE 00000c6a: PUSH1 0x1c 00000c6c: DUP2 00000c6d: ADD 00000c6e: DUP4 00000c6f: SWAP1 00000c70: MSTORE 00000c71: DUP2 00000c72: MLOAD 00000c73: SWAP1 00000c74: DUP2 00000c75: SWAP1 00000c76: SUB 00000c77: PUSH1 0x3c 00000c79: ADD 00000c7a: DUP2 00000c7b: KECCAK256 00000c7c: PUSH1 0x00 00000c7e: DUP1 00000c7f: DUP4 00000c80: MSTORE 00000c81: PUSH1 0x20 00000c83: DUP4 00000c84: DUP2 00000c85: ADD 00000c86: DUP1 00000c87: DUP7 00000c88: MSTORE 00000c89: SWAP3 00000c8a: SWAP1 00000c8b: SWAP3 00000c8c: MSTORE 00000c8d: PUSH1 0xff 00000c8f: DUP9 00000c90: AND 00000c91: DUP4 00000c92: DUP6 00000c93: ADD 00000c94: MSTORE 00000c95: PUSH1 0x60 00000c97: DUP4 00000c98: ADD 00000c99: DUP8 00000c9a: SWAP1 00000c9b: MSTORE 00000c9c: PUSH1 0x80 00000c9e: DUP4 00000c9f: ADD 00000ca0: DUP7 00000ca1: SWAP1 00000ca2: MSTORE 00000ca3: SWAP3 00000ca4: MLOAD 00000ca5: CALLER 00000ca6: SWAP4 00000ca7: PUSH1 0x01 00000ca9: SWAP4 00000caa: PUSH1 0xa0 00000cac: DUP1 00000cad: DUP3 00000cae: ADD 00000caf: SWAP5 00000cb0: SWAP4 00000cb1: PUSH1 0x1f 00000cb3: NOT 00000cb4: DUP2 00000cb5: ADD 00000cb6: SWAP4 00000cb7: SWAP3 00000cb8: DUP2 00000cb9: SWAP1 00000cba: SUB 00000cbb: SWAP1 00000cbc: SWAP2 00000cbd: ADD 00000cbe: SWAP2 00000cbf: DUP7 00000cc0: GAS 00000cc1: CALL 00000cc2: ISZERO 00000cc3: DUP1 00000cc4: ISZERO 00000cc5: PUSH2 0x0cd2 00000cc8: JUMPI 00000cc9: RETURNDATASIZE 00000cca: PUSH1 0x00 00000ccc: DUP1 00000ccd: RETURNDATACOPY 00000cce: RETURNDATASIZE 00000ccf: PUSH1 0x00 00000cd1: REVERT 00000cd2: JUMPDEST 00000cd3: POP 00000cd4: POP 00000cd5: POP 00000cd6: PUSH1 0x20 00000cd8: PUSH1 0x40 00000cda: MLOAD 00000cdb: SUB 00000cdc: MLOAD 00000cdd: PUSH1 0x01 00000cdf: PUSH1 0xa0 00000ce1: PUSH1 0x02 00000ce3: EXP 00000ce4: SUB 00000ce5: AND 00000ce6: EQ 00000ce7: JUMPDEST 00000ce8: ISZERO 00000ce9: ISZERO 00000cea: PUSH2 0x0cf2 00000ced: JUMPI 00000cee: PUSH1 0x00 00000cf0: DUP1 00000cf1: REVERT 00000cf2: JUMPDEST 00000cf3: CALLER 00000cf4: PUSH1 0x00 00000cf6: DUP2 00000cf7: DUP2 00000cf8: MSTORE 00000cf9: PUSH1 0x0a 00000cfb: PUSH1 0x20 00000cfd: SWAP1 00000cfe: DUP2 00000cff: MSTORE 00000d00: PUSH1 0x40 00000d02: DUP1 00000d03: DUP4 00000d04: KECCAK256 00000d05: DUP6 00000d06: DUP5 00000d07: MSTORE 00000d08: DUP3 00000d09: MSTORE 00000d0a: SWAP2 00000d0b: DUP3 00000d0c: SWAP1 00000d0d: KECCAK256 00000d0e: DUP13 00000d0f: SWAP1 00000d10: SSTORE 00000d11: DUP2 00000d12: MLOAD 00000d13: PUSH1 0x01 00000d15: PUSH1 0xa0 00000d17: PUSH1 0x02 00000d19: EXP 00000d1a: SUB 00000d1b: DUP15 00000d1c: DUP2 00000d1d: AND 00000d1e: DUP3 00000d1f: MSTORE 00000d20: SWAP2 00000d21: DUP2 00000d22: ADD 00000d23: DUP14 00000d24: SWAP1 00000d25: MSTORE 00000d26: SWAP1 00000d27: DUP12 00000d28: AND 00000d29: DUP2 00000d2a: DUP4 00000d2b: ADD 00000d2c: MSTORE 00000d2d: PUSH1 0x60 00000d2f: DUP2 00000d30: ADD 00000d31: DUP11 00000d32: SWAP1 00000d33: MSTORE 00000d34: PUSH1 0x80 00000d36: DUP2 00000d37: ADD 00000d38: DUP10 00000d39: SWAP1 00000d3a: MSTORE 00000d3b: PUSH1 0xa0 00000d3d: DUP2 00000d3e: ADD 00000d3f: DUP9 00000d40: SWAP1 00000d41: MSTORE 00000d42: PUSH1 0xff 00000d44: DUP8 00000d45: AND 00000d46: PUSH1 0xc0 00000d48: DUP3 00000d49: ADD 00000d4a: MSTORE 00000d4b: PUSH1 0xe0 00000d4d: DUP2 00000d4e: ADD 00000d4f: DUP7 00000d50: SWAP1 00000d51: MSTORE 00000d52: PUSH2 0x0100 00000d55: DUP2 00000d56: ADD 00000d57: DUP6 00000d58: SWAP1 00000d59: MSTORE 00000d5a: SWAP1 00000d5b: MLOAD 00000d5c: PUSH32 0x1e0b760c386003e9cb9bcf4fcf3997886042859d9b6ed6320e804597fcdb28b0 00000d7d: SWAP2 00000d7e: DUP2 00000d7f: SWAP1 00000d80: SUB 00000d81: PUSH2 0x0120 00000d84: ADD 00000d85: SWAP1 00000d86: LOG2 00000d87: POP 00000d88: POP 00000d89: POP 00000d8a: POP 00000d8b: POP 00000d8c: POP 00000d8d: POP 00000d8e: POP 00000d8f: POP 00000d90: POP 00000d91: JUMP 00000d92: JUMPDEST 00000d93: CALLER 00000d94: PUSH1 0x00 00000d96: SWAP1 00000d97: DUP2 00000d98: MSTORE 00000d99: PUSH1 0x00 00000d9b: DUP1 00000d9c: MLOAD 00000d9d: PUSH1 0x20 00000d9f: PUSH2 0x21da 00000da2: DUP4 00000da3: CODECOPY 00000da4: DUP2 00000da5: MLOAD 00000da6: SWAP2 00000da7: MSTORE 00000da8: PUSH1 0x20 00000daa: MSTORE 00000dab: PUSH1 0x40 00000dad: SWAP1 00000dae: KECCAK256 00000daf: SLOAD 00000db0: DUP2 00000db1: GT 00000db2: ISZERO 00000db3: PUSH2 0x0dbb 00000db6: JUMPI 00000db7: PUSH1 0x00 00000db9: DUP1 00000dba: REVERT 00000dbb: JUMPDEST 00000dbc: CALLER 00000dbd: PUSH1 0x00 00000dbf: SWAP1 00000dc0: DUP2 00000dc1: MSTORE 00000dc2: PUSH1 0x00 00000dc4: DUP1 00000dc5: MLOAD 00000dc6: PUSH1 0x20 00000dc8: PUSH2 0x21da 00000dcb: DUP4 00000dcc: CODECOPY 00000dcd: DUP2 00000dce: MLOAD 00000dcf: SWAP2 00000dd0: MSTORE 00000dd1: PUSH1 0x20 00000dd3: MSTORE 00000dd4: PUSH1 0x40 00000dd6: SWAP1 00000dd7: KECCAK256 00000dd8: SLOAD 00000dd9: PUSH2 0x0de2 00000ddc: SWAP1 00000ddd: DUP3 00000dde: PUSH2 0x2179 00000de1: JUMP 00000de2: JUMPDEST 00000de3: CALLER 00000de4: PUSH1 0x00 00000de6: DUP2 00000de7: DUP2 00000de8: MSTORE 00000de9: PUSH1 0x00 00000deb: DUP1 00000dec: MLOAD 00000ded: PUSH1 0x20 00000def: PUSH2 0x21da 00000df2: DUP4 00000df3: CODECOPY 00000df4: DUP2 00000df5: MLOAD 00000df6: SWAP2 00000df7: MSTORE 00000df8: PUSH1 0x20 00000dfa: MSTORE 00000dfb: PUSH1 0x40 00000dfd: DUP1 00000dfe: DUP3 00000dff: KECCAK256 00000e00: SWAP4 00000e01: SWAP1 00000e02: SWAP4 00000e03: SSTORE 00000e04: SWAP2 00000e05: MLOAD 00000e06: SWAP1 00000e07: SWAP2 00000e08: DUP4 00000e09: SWAP2 00000e0a: SWAP1 00000e0b: DUP2 00000e0c: DUP2 00000e0d: DUP2 00000e0e: DUP6 00000e0f: DUP8 00000e10: GAS 00000e11: CALL 00000e12: SWAP3 00000e13: POP 00000e14: POP 00000e15: POP 00000e16: ISZERO 00000e17: ISZERO 00000e18: PUSH2 0x0e20 00000e1b: JUMPI 00000e1c: PUSH1 0x00 00000e1e: DUP1 00000e1f: REVERT 00000e20: JUMPDEST 00000e21: CALLER 00000e22: PUSH1 0x00 00000e24: DUP2 00000e25: DUP2 00000e26: MSTORE 00000e27: PUSH1 0x00 00000e29: DUP1 00000e2a: MLOAD 00000e2b: PUSH1 0x20 00000e2d: PUSH2 0x21da 00000e30: DUP4 00000e31: CODECOPY 00000e32: DUP2 00000e33: MLOAD 00000e34: SWAP2 00000e35: MSTORE 00000e36: PUSH1 0x20 00000e38: SWAP1 00000e39: DUP2 00000e3a: MSTORE 00000e3b: PUSH1 0x40 00000e3d: DUP1 00000e3e: DUP4 00000e3f: KECCAK256 00000e40: SLOAD 00000e41: DUP2 00000e42: MLOAD 00000e43: SWAP4 00000e44: DUP5 00000e45: MSTORE 00000e46: SWAP2 00000e47: DUP4 00000e48: ADD 00000e49: DUP6 00000e4a: SWAP1 00000e4b: MSTORE 00000e4c: DUP3 00000e4d: DUP2 00000e4e: ADD 00000e4f: SWAP2 00000e50: SWAP1 00000e51: SWAP2 00000e52: MSTORE 00000e53: MLOAD 00000e54: PUSH32 0xf341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567 00000e75: SWAP2 00000e76: DUP2 00000e77: SWAP1 00000e78: SUB 00000e79: PUSH1 0x60 00000e7b: ADD 00000e7c: SWAP1 00000e7d: LOG2 00000e7e: POP 00000e7f: JUMP 00000e80: JUMPDEST 00000e81: PUSH1 0x01 00000e83: PUSH1 0xa0 00000e85: PUSH1 0x02 00000e87: EXP 00000e88: SUB 00000e89: DUP3 00000e8a: AND 00000e8b: ISZERO 00000e8c: ISZERO 00000e8d: PUSH2 0x0e95 00000e90: JUMPI 00000e91: PUSH1 0x00 00000e93: DUP1 00000e94: REVERT 00000e95: JUMPDEST 00000e96: PUSH1 0x40 00000e98: DUP1 00000e99: MLOAD 00000e9a: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00000ebb: DUP2 00000ebc: MSTORE 00000ebd: CALLER 00000ebe: PUSH1 0x04 00000ec0: DUP3 00000ec1: ADD 00000ec2: MSTORE 00000ec3: ADDRESS 00000ec4: PUSH1 0x24 00000ec6: DUP3 00000ec7: ADD 00000ec8: MSTORE 00000ec9: PUSH1 0x44 00000ecb: DUP2 00000ecc: ADD 00000ecd: DUP4 00000ece: SWAP1 00000ecf: MSTORE 00000ed0: SWAP1 00000ed1: MLOAD 00000ed2: PUSH1 0x01 00000ed4: PUSH1 0xa0 00000ed6: PUSH1 0x02 00000ed8: EXP 00000ed9: SUB 00000eda: DUP5 00000edb: AND 00000edc: SWAP2 00000edd: PUSH4 0x23b872dd 00000ee2: SWAP2 00000ee3: PUSH1 0x64 00000ee5: DUP1 00000ee6: DUP4 00000ee7: ADD 00000ee8: SWAP3 00000ee9: PUSH1 0x20 00000eeb: SWAP3 00000eec: SWAP2 00000eed: SWAP1 00000eee: DUP3 00000eef: SWAP1 00000ef0: SUB 00000ef1: ADD 00000ef2: DUP2 00000ef3: PUSH1 0x00 00000ef5: DUP8 00000ef6: DUP1 00000ef7: EXTCODESIZE 00000ef8: ISZERO 00000ef9: DUP1 00000efa: ISZERO 00000efb: PUSH2 0x0f03 00000efe: JUMPI 00000eff: PUSH1 0x00 00000f01: DUP1 00000f02: REVERT 00000f03: JUMPDEST 00000f04: POP 00000f05: GAS 00000f06: CALL 00000f07: ISZERO 00000f08: DUP1 00000f09: ISZERO 00000f0a: PUSH2 0x0f17 00000f0d: JUMPI 00000f0e: RETURNDATASIZE 00000f0f: PUSH1 0x00 00000f11: DUP1 00000f12: RETURNDATACOPY 00000f13: RETURNDATASIZE 00000f14: PUSH1 0x00 00000f16: REVERT 00000f17: JUMPDEST 00000f18: POP 00000f19: POP 00000f1a: POP 00000f1b: POP 00000f1c: PUSH1 0x40 00000f1e: MLOAD 00000f1f: RETURNDATASIZE 00000f20: PUSH1 0x20 00000f22: DUP2 00000f23: LT 00000f24: ISZERO 00000f25: PUSH2 0x0f2d 00000f28: JUMPI 00000f29: PUSH1 0x00 00000f2b: DUP1 00000f2c: REVERT 00000f2d: JUMPDEST 00000f2e: POP 00000f2f: MLOAD 00000f30: ISZERO 00000f31: ISZERO 00000f32: PUSH2 0x0f3a 00000f35: JUMPI 00000f36: PUSH1 0x00 00000f38: DUP1 00000f39: REVERT 00000f3a: JUMPDEST 00000f3b: PUSH1 0x01 00000f3d: PUSH1 0xa0 00000f3f: PUSH1 0x02 00000f41: EXP 00000f42: SUB 00000f43: DUP3 00000f44: AND 00000f45: PUSH1 0x00 00000f47: SWAP1 00000f48: DUP2 00000f49: MSTORE 00000f4a: PUSH1 0x08 00000f4c: PUSH1 0x20 00000f4e: SWAP1 00000f4f: DUP2 00000f50: MSTORE 00000f51: PUSH1 0x40 00000f53: DUP1 00000f54: DUP4 00000f55: KECCAK256 00000f56: CALLER 00000f57: DUP5 00000f58: MSTORE 00000f59: SWAP1 00000f5a: SWAP2 00000f5b: MSTORE 00000f5c: SWAP1 00000f5d: KECCAK256 00000f5e: SLOAD 00000f5f: PUSH2 0x0f68 00000f62: SWAP1 00000f63: DUP3 00000f64: PUSH2 0x1ce5 00000f67: JUMP 00000f68: JUMPDEST 00000f69: PUSH1 0x01 00000f6b: PUSH1 0xa0 00000f6d: PUSH1 0x02 00000f6f: EXP 00000f70: SUB 00000f71: DUP4 00000f72: AND 00000f73: PUSH1 0x00 00000f75: DUP2 00000f76: DUP2 00000f77: MSTORE 00000f78: PUSH1 0x08 00000f7a: PUSH1 0x20 00000f7c: SWAP1 00000f7d: DUP2 00000f7e: MSTORE 00000f7f: PUSH1 0x40 00000f81: DUP1 00000f82: DUP4 00000f83: KECCAK256 00000f84: CALLER 00000f85: DUP1 00000f86: DUP6 00000f87: MSTORE 00000f88: SWAP1 00000f89: DUP4 00000f8a: MSTORE 00000f8b: SWAP3 00000f8c: DUP2 00000f8d: SWAP1 00000f8e: KECCAK256 00000f8f: DUP6 00000f90: SWAP1 00000f91: SSTORE 00000f92: DUP1 00000f93: MLOAD 00000f94: SWAP4 00000f95: DUP5 00000f96: MSTORE 00000f97: SWAP1 00000f98: DUP4 00000f99: ADD 00000f9a: DUP6 00000f9b: SWAP1 00000f9c: MSTORE 00000f9d: DUP3 00000f9e: DUP2 00000f9f: ADD 00000fa0: SWAP4 00000fa1: SWAP1 00000fa2: SWAP4 00000fa3: MSTORE 00000fa4: SWAP2 00000fa5: MLOAD 00000fa6: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00000fc7: SWAP2 00000fc8: DUP2 00000fc9: SWAP1 00000fca: SUB 00000fcb: PUSH1 0x60 00000fcd: ADD 00000fce: SWAP1 00000fcf: LOG2 00000fd0: POP 00000fd1: POP 00000fd2: JUMP 00000fd3: JUMPDEST 00000fd4: PUSH1 0x01 00000fd6: PUSH1 0xa0 00000fd8: PUSH1 0x02 00000fda: EXP 00000fdb: SUB 00000fdc: DUP4 00000fdd: AND 00000fde: ISZERO 00000fdf: ISZERO 00000fe0: PUSH2 0x0fe8 00000fe3: JUMPI 00000fe4: PUSH1 0x00 00000fe6: DUP1 00000fe7: REVERT 00000fe8: JUMPDEST 00000fe9: PUSH1 0x01 00000feb: PUSH1 0xa0 00000fed: PUSH1 0x02 00000fef: EXP 00000ff0: SUB 00000ff1: DUP2 00000ff2: AND 00000ff3: ISZERO 00000ff4: ISZERO 00000ff5: PUSH2 0x0ffd 00000ff8: JUMPI 00000ff9: PUSH1 0x00 00000ffb: DUP1 00000ffc: REVERT 00000ffd: JUMPDEST 00000ffe: PUSH1 0x00 00001000: DUP3 00001001: GT 00001002: PUSH2 0x100a 00001005: JUMPI 00001006: PUSH1 0x00 00001008: DUP1 00001009: REVERT 0000100a: JUMPDEST 0000100b: PUSH1 0x07 0000100d: DUP1 0000100e: SLOAD 0000100f: PUSH1 0xff 00001011: NOT 00001012: AND 00001013: PUSH1 0x01 00001015: OR 00001016: SWAP1 00001017: SSTORE 00001018: PUSH1 0x40 0000101a: DUP1 0000101b: MLOAD 0000101c: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 0000103d: DUP2 0000103e: MSTORE 0000103f: CALLER 00001040: PUSH1 0x04 00001042: DUP3 00001043: ADD 00001044: MSTORE 00001045: ADDRESS 00001046: PUSH1 0x24 00001048: DUP3 00001049: ADD 0000104a: MSTORE 0000104b: PUSH1 0x44 0000104d: DUP2 0000104e: ADD 0000104f: DUP5 00001050: SWAP1 00001051: MSTORE 00001052: SWAP1 00001053: MLOAD 00001054: PUSH1 0x01 00001056: PUSH1 0xa0 00001058: PUSH1 0x02 0000105a: EXP 0000105b: SUB 0000105c: DUP6 0000105d: AND 0000105e: SWAP2 0000105f: PUSH4 0x23b872dd 00001064: SWAP2 00001065: PUSH1 0x64 00001067: DUP1 00001068: DUP4 00001069: ADD 0000106a: SWAP3 0000106b: PUSH1 0x20 0000106d: SWAP3 0000106e: SWAP2 0000106f: SWAP1 00001070: DUP3 00001071: SWAP1 00001072: SUB 00001073: ADD 00001074: DUP2 00001075: PUSH1 0x00 00001077: DUP8 00001078: DUP1 00001079: EXTCODESIZE 0000107a: ISZERO 0000107b: DUP1 0000107c: ISZERO 0000107d: PUSH2 0x1085 00001080: JUMPI 00001081: PUSH1 0x00 00001083: DUP1 00001084: REVERT 00001085: JUMPDEST 00001086: POP 00001087: GAS 00001088: CALL 00001089: ISZERO 0000108a: DUP1 0000108b: ISZERO 0000108c: PUSH2 0x1099 0000108f: JUMPI 00001090: RETURNDATASIZE 00001091: PUSH1 0x00 00001093: DUP1 00001094: RETURNDATACOPY 00001095: RETURNDATASIZE 00001096: PUSH1 0x00 00001098: REVERT 00001099: JUMPDEST 0000109a: POP 0000109b: POP 0000109c: POP 0000109d: POP 0000109e: PUSH1 0x40 000010a0: MLOAD 000010a1: RETURNDATASIZE 000010a2: PUSH1 0x20 000010a4: DUP2 000010a5: LT 000010a6: ISZERO 000010a7: PUSH2 0x10af 000010aa: JUMPI 000010ab: PUSH1 0x00 000010ad: DUP1 000010ae: REVERT 000010af: JUMPDEST 000010b0: POP 000010b1: MLOAD 000010b2: ISZERO 000010b3: ISZERO 000010b4: PUSH2 0x10bc 000010b7: JUMPI 000010b8: PUSH1 0x00 000010ba: DUP1 000010bb: REVERT 000010bc: JUMPDEST 000010bd: PUSH1 0x07 000010bf: DUP1 000010c0: SLOAD 000010c1: PUSH1 0xff 000010c3: NOT 000010c4: AND 000010c5: SWAP1 000010c6: SSTORE 000010c7: PUSH1 0x01 000010c9: PUSH1 0xa0 000010cb: PUSH1 0x02 000010cd: EXP 000010ce: SUB 000010cf: DUP1 000010d0: DUP5 000010d1: AND 000010d2: PUSH1 0x00 000010d4: SWAP1 000010d5: DUP2 000010d6: MSTORE 000010d7: PUSH1 0x08 000010d9: PUSH1 0x20 000010db: SWAP1 000010dc: DUP2 000010dd: MSTORE 000010de: PUSH1 0x40 000010e0: DUP1 000010e1: DUP4 000010e2: KECCAK256 000010e3: SWAP4 000010e4: DUP6 000010e5: AND 000010e6: DUP4 000010e7: MSTORE 000010e8: SWAP3 000010e9: SWAP1 000010ea: MSTORE 000010eb: KECCAK256 000010ec: SLOAD 000010ed: PUSH2 0x10f6 000010f0: SWAP1 000010f1: DUP4 000010f2: PUSH2 0x1ce5 000010f5: JUMP 000010f6: JUMPDEST 000010f7: PUSH1 0x01 000010f9: PUSH1 0xa0 000010fb: PUSH1 0x02 000010fd: EXP 000010fe: SUB 000010ff: SWAP4 00001100: DUP5 00001101: AND 00001102: PUSH1 0x00 00001104: SWAP1 00001105: DUP2 00001106: MSTORE 00001107: PUSH1 0x08 00001109: PUSH1 0x20 0000110b: SWAP1 0000110c: DUP2 0000110d: MSTORE 0000110e: PUSH1 0x40 00001110: DUP1 00001111: DUP4 00001112: KECCAK256 00001113: SWAP5 00001114: SWAP1 00001115: SWAP7 00001116: AND 00001117: DUP3 00001118: MSTORE 00001119: SWAP3 0000111a: SWAP1 0000111b: SWAP3 0000111c: MSTORE 0000111d: SWAP3 0000111e: SWAP1 0000111f: KECCAK256 00001120: SWAP2 00001121: SWAP1 00001122: SWAP2 00001123: SSTORE 00001124: POP 00001125: JUMP 00001126: JUMPDEST 00001127: POP 00001128: POP 00001129: PUSH1 0x40 0000112b: DUP1 0000112c: MLOAD 0000112d: PUSH13 0x01000000000000000000000000 0000113b: ADDRESS 0000113c: DUP2 0000113d: MUL 0000113e: DUP3 0000113f: MSTORE 00001140: PUSH1 0x01 00001142: PUSH1 0xa0 00001144: PUSH1 0x02 00001146: EXP 00001147: SUB 00001148: SWAP11 00001149: DUP12 0000114a: AND 0000114b: DUP2 0000114c: MUL 0000114d: PUSH1 0x14 0000114f: DUP4 00001150: ADD 00001151: MSTORE 00001152: PUSH1 0x28 00001154: DUP3 00001155: ADD 00001156: SWAP10 00001157: SWAP1 00001158: SWAP10 00001159: MSTORE 0000115a: SWAP7 0000115b: DUP10 0000115c: AND 0000115d: SWAP1 0000115e: SWAP8 0000115f: MUL 00001160: PUSH1 0x48 00001162: DUP8 00001163: ADD 00001164: MSTORE 00001165: POP 00001166: PUSH1 0x5c 00001168: DUP6 00001169: ADD 0000116a: SWAP4 0000116b: SWAP1 0000116c: SWAP4 0000116d: MSTORE 0000116e: PUSH1 0x7c 00001170: DUP5 00001171: ADD 00001172: SWAP2 00001173: SWAP1 00001174: SWAP2 00001175: MSTORE 00001176: PUSH1 0x9c 00001178: DUP4 00001179: ADD 0000117a: MSTORE 0000117b: DUP3 0000117c: MLOAD 0000117d: SWAP2 0000117e: DUP3 0000117f: SWAP1 00001180: SUB 00001181: PUSH1 0xbc 00001183: ADD 00001184: SWAP1 00001185: SWAP2 00001186: KECCAK256 00001187: SWAP3 00001188: AND 00001189: PUSH1 0x00 0000118b: SWAP1 0000118c: DUP2 0000118d: MSTORE 0000118e: PUSH1 0x0a 00001190: PUSH1 0x20 00001192: SWAP1 00001193: DUP2 00001194: MSTORE 00001195: DUP3 00001196: DUP3 00001197: KECCAK256 00001198: SWAP4 00001199: DUP3 0000119a: MSTORE 0000119b: SWAP3 0000119c: SWAP1 0000119d: SWAP3 0000119e: MSTORE 0000119f: SWAP1 000011a0: KECCAK256 000011a1: SLOAD 000011a2: SWAP1 000011a3: JUMP 000011a4: JUMPDEST 000011a5: PUSH1 0x01 000011a7: SLOAD 000011a8: PUSH1 0x01 000011aa: PUSH1 0xa0 000011ac: PUSH1 0x02 000011ae: EXP 000011af: SUB 000011b0: AND 000011b1: DUP2 000011b2: JUMP 000011b3: JUMPDEST 000011b4: PUSH1 0x08 000011b6: PUSH1 0x20 000011b8: SWAP1 000011b9: DUP2 000011ba: MSTORE 000011bb: PUSH1 0x00 000011bd: SWAP3 000011be: DUP4 000011bf: MSTORE 000011c0: PUSH1 0x40 000011c2: DUP1 000011c3: DUP5 000011c4: KECCAK256 000011c5: SWAP1 000011c6: SWAP2 000011c7: MSTORE 000011c8: SWAP1 000011c9: DUP3 000011ca: MSTORE 000011cb: SWAP1 000011cc: KECCAK256 000011cd: SLOAD 000011ce: DUP2 000011cf: JUMP 000011d0: JUMPDEST 000011d1: PUSH1 0x00 000011d3: DUP1 000011d4: DUP1 000011d5: DUP1 000011d6: DUP1 000011d7: PUSH1 0x01 000011d9: PUSH1 0xa0 000011db: PUSH1 0x02 000011dd: EXP 000011de: SUB 000011df: DUP8 000011e0: AND 000011e1: ISZERO 000011e2: ISZERO 000011e3: PUSH2 0x11eb 000011e6: JUMPI 000011e7: PUSH1 0x00 000011e9: DUP1 000011ea: REVERT 000011eb: JUMPDEST 000011ec: CALLER 000011ed: PUSH1 0x00 000011ef: SWAP1 000011f0: DUP2 000011f1: MSTORE 000011f2: PUSH1 0x00 000011f4: DUP1 000011f5: MLOAD 000011f6: PUSH1 0x20 000011f8: PUSH2 0x21da 000011fb: DUP4 000011fc: CODECOPY 000011fd: DUP2 000011fe: MLOAD 000011ff: SWAP2 00001200: MSTORE 00001201: PUSH1 0x20 00001203: MSTORE 00001204: PUSH1 0x40 00001206: DUP2 00001207: KECCAK256 00001208: SLOAD 00001209: DUP9 0000120a: SWAP7 0000120b: POP 0000120c: SWAP5 0000120d: POP 0000120e: DUP5 0000120f: GT 00001210: ISZERO 00001211: PUSH2 0x12aa 00001214: JUMPI 00001215: CALLER 00001216: PUSH1 0x00 00001218: DUP2 00001219: DUP2 0000121a: MSTORE 0000121b: PUSH1 0x00 0000121d: DUP1 0000121e: MLOAD 0000121f: PUSH1 0x20 00001221: PUSH2 0x21da 00001224: DUP4 00001225: CODECOPY 00001226: DUP2 00001227: MLOAD 00001228: SWAP2 00001229: MSTORE 0000122a: PUSH1 0x20 0000122c: MSTORE 0000122d: PUSH1 0x40 0000122f: DUP1 00001230: DUP3 00001231: KECCAK256 00001232: DUP3 00001233: SWAP1 00001234: SSTORE 00001235: DUP1 00001236: MLOAD 00001237: PUSH32 0x6a523c5e00000000000000000000000000000000000000000000000000000000 00001258: DUP2 00001259: MSTORE 0000125a: PUSH1 0x04 0000125c: DUP2 0000125d: ADD 0000125e: SWAP4 0000125f: SWAP1 00001260: SWAP4 00001261: MSTORE 00001262: MLOAD 00001263: PUSH1 0x01 00001265: PUSH1 0xa0 00001267: PUSH1 0x02 00001269: EXP 0000126a: SUB 0000126b: DUP9 0000126c: AND 0000126d: SWAP3 0000126e: PUSH4 0x6a523c5e 00001273: SWAP3 00001274: DUP9 00001275: SWAP3 00001276: PUSH1 0x24 00001278: DUP1 00001279: DUP5 0000127a: ADD 0000127b: SWAP4 0000127c: DUP3 0000127d: SWAP1 0000127e: SUB 0000127f: ADD 00001280: DUP2 00001281: DUP6 00001282: DUP9 00001283: DUP1 00001284: EXTCODESIZE 00001285: ISZERO 00001286: DUP1 00001287: ISZERO 00001288: PUSH2 0x1290 0000128b: JUMPI 0000128c: PUSH1 0x00 0000128e: DUP1 0000128f: REVERT 00001290: JUMPDEST 00001291: POP 00001292: GAS 00001293: CALL 00001294: ISZERO 00001295: DUP1 00001296: ISZERO 00001297: PUSH2 0x12a4 0000129a: JUMPI 0000129b: RETURNDATASIZE 0000129c: PUSH1 0x00 0000129e: DUP1 0000129f: RETURNDATACOPY 000012a0: RETURNDATASIZE 000012a1: PUSH1 0x00 000012a3: REVERT 000012a4: JUMPDEST 000012a5: POP 000012a6: POP 000012a7: POP 000012a8: POP 000012a9: POP 000012aa: JUMPDEST 000012ab: PUSH1 0x00 000012ad: SWAP3 000012ae: POP 000012af: JUMPDEST 000012b0: DUP6 000012b1: MLOAD 000012b2: DUP4 000012b3: PUSH2 0xffff 000012b6: AND 000012b7: LT 000012b8: ISZERO 000012b9: PUSH2 0x147d 000012bc: JUMPI 000012bd: DUP6 000012be: DUP4 000012bf: PUSH2 0xffff 000012c2: AND 000012c3: DUP2 000012c4: MLOAD 000012c5: DUP2 000012c6: LT 000012c7: ISZERO 000012c8: ISZERO 000012c9: PUSH2 0x12ce 000012cc: JUMPI 000012cd: INVALID 000012ce: JUMPDEST 000012cf: PUSH1 0x20 000012d1: SWAP1 000012d2: DUP2 000012d3: MUL 000012d4: SWAP1 000012d5: SWAP2 000012d6: ADD 000012d7: ADD 000012d8: MLOAD 000012d9: SWAP2 000012da: POP 000012db: PUSH1 0x01 000012dd: PUSH1 0xa0 000012df: PUSH1 0x02 000012e1: EXP 000012e2: SUB 000012e3: DUP3 000012e4: AND 000012e5: ISZERO 000012e6: ISZERO 000012e7: PUSH2 0x12ef 000012ea: JUMPI 000012eb: PUSH1 0x00 000012ed: DUP1 000012ee: REVERT 000012ef: JUMPDEST 000012f0: POP 000012f1: PUSH1 0x01 000012f3: PUSH1 0xa0 000012f5: PUSH1 0x02 000012f7: EXP 000012f8: SUB 000012f9: DUP2 000012fa: AND 000012fb: PUSH1 0x00 000012fd: SWAP1 000012fe: DUP2 000012ff: MSTORE 00001300: PUSH1 0x08 00001302: PUSH1 0x20 00001304: SWAP1 00001305: DUP2 00001306: MSTORE 00001307: PUSH1 0x40 00001309: DUP1 0000130a: DUP4 0000130b: KECCAK256 0000130c: CALLER 0000130d: DUP5 0000130e: MSTORE 0000130f: SWAP1 00001310: SWAP2 00001311: MSTORE 00001312: SWAP1 00001313: KECCAK256 00001314: SLOAD 00001315: DUP1 00001316: ISZERO 00001317: PUSH2 0x1472 0000131a: JUMPI 0000131b: DUP2 0000131c: PUSH1 0x01 0000131e: PUSH1 0xa0 00001320: PUSH1 0x02 00001322: EXP 00001323: SUB 00001324: AND 00001325: PUSH4 0x095ea7b3 0000132a: DUP7 0000132b: DUP4 0000132c: PUSH1 0x40 0000132e: MLOAD 0000132f: DUP4 00001330: PUSH4 0xffffffff 00001335: AND 00001336: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001354: MUL 00001355: DUP2 00001356: MSTORE 00001357: PUSH1 0x04 00001359: ADD 0000135a: DUP1 0000135b: DUP4 0000135c: PUSH1 0x01 0000135e: PUSH1 0xa0 00001360: PUSH1 0x02 00001362: EXP 00001363: SUB 00001364: AND 00001365: PUSH1 0x01 00001367: PUSH1 0xa0 00001369: PUSH1 0x02 0000136b: EXP 0000136c: SUB 0000136d: AND 0000136e: DUP2 0000136f: MSTORE 00001370: PUSH1 0x20 00001372: ADD 00001373: DUP3 00001374: DUP2 00001375: MSTORE 00001376: PUSH1 0x20 00001378: ADD 00001379: SWAP3 0000137a: POP 0000137b: POP 0000137c: POP 0000137d: PUSH1 0x20 0000137f: PUSH1 0x40 00001381: MLOAD 00001382: DUP1 00001383: DUP4 00001384: SUB 00001385: DUP2 00001386: PUSH1 0x00 00001388: DUP8 00001389: DUP1 0000138a: EXTCODESIZE 0000138b: ISZERO 0000138c: DUP1 0000138d: ISZERO 0000138e: PUSH2 0x1396 00001391: JUMPI 00001392: PUSH1 0x00 00001394: DUP1 00001395: REVERT 00001396: JUMPDEST 00001397: POP 00001398: GAS 00001399: CALL 0000139a: ISZERO 0000139b: DUP1 0000139c: ISZERO 0000139d: PUSH2 0x13aa 000013a0: JUMPI 000013a1: RETURNDATASIZE 000013a2: PUSH1 0x00 000013a4: DUP1 000013a5: RETURNDATACOPY 000013a6: RETURNDATASIZE 000013a7: PUSH1 0x00 000013a9: REVERT 000013aa: JUMPDEST 000013ab: POP 000013ac: POP 000013ad: POP 000013ae: POP 000013af: PUSH1 0x40 000013b1: MLOAD 000013b2: RETURNDATASIZE 000013b3: PUSH1 0x20 000013b5: DUP2 000013b6: LT 000013b7: ISZERO 000013b8: PUSH2 0x13c0 000013bb: JUMPI 000013bc: PUSH1 0x00 000013be: DUP1 000013bf: REVERT 000013c0: JUMPDEST 000013c1: POP 000013c2: MLOAD 000013c3: ISZERO 000013c4: ISZERO 000013c5: PUSH2 0x13cd 000013c8: JUMPI 000013c9: PUSH1 0x00 000013cb: DUP1 000013cc: REVERT 000013cd: JUMPDEST 000013ce: PUSH1 0x01 000013d0: PUSH1 0xa0 000013d2: PUSH1 0x02 000013d4: EXP 000013d5: SUB 000013d6: DUP1 000013d7: DUP4 000013d8: AND 000013d9: PUSH1 0x00 000013db: DUP2 000013dc: DUP2 000013dd: MSTORE 000013de: PUSH1 0x08 000013e0: PUSH1 0x20 000013e2: SWAP1 000013e3: DUP2 000013e4: MSTORE 000013e5: PUSH1 0x40 000013e7: DUP1 000013e8: DUP4 000013e9: KECCAK256 000013ea: CALLER 000013eb: DUP1 000013ec: DUP6 000013ed: MSTORE 000013ee: SWAP3 000013ef: MSTORE 000013f0: DUP1 000013f1: DUP4 000013f2: KECCAK256 000013f3: DUP4 000013f4: SWAP1 000013f5: SSTORE 000013f6: DUP1 000013f7: MLOAD 000013f8: PUSH32 0x3c2e2a7500000000000000000000000000000000000000000000000000000000 00001419: DUP2 0000141a: MSTORE 0000141b: PUSH1 0x04 0000141d: DUP2 0000141e: ADD 0000141f: SWAP5 00001420: SWAP1 00001421: SWAP5 00001422: MSTORE 00001423: PUSH1 0x24 00001425: DUP5 00001426: ADD 00001427: DUP7 00001428: SWAP1 00001429: MSTORE 0000142a: PUSH1 0x44 0000142c: DUP5 0000142d: ADD 0000142e: SWAP2 0000142f: SWAP1 00001430: SWAP2 00001431: MSTORE 00001432: MLOAD 00001433: SWAP3 00001434: DUP9 00001435: AND 00001436: SWAP3 00001437: PUSH4 0x3c2e2a75 0000143c: SWAP3 0000143d: PUSH1 0x64 0000143f: DUP1 00001440: DUP3 00001441: ADD 00001442: SWAP4 00001443: SWAP3 00001444: SWAP2 00001445: DUP3 00001446: SWAP1 00001447: SUB 00001448: ADD 00001449: DUP2 0000144a: DUP4 0000144b: DUP8 0000144c: DUP1 0000144d: EXTCODESIZE 0000144e: ISZERO 0000144f: DUP1 00001450: ISZERO 00001451: PUSH2 0x1459 00001454: JUMPI 00001455: PUSH1 0x00 00001457: DUP1 00001458: REVERT 00001459: JUMPDEST 0000145a: POP 0000145b: GAS 0000145c: CALL 0000145d: ISZERO 0000145e: DUP1 0000145f: ISZERO 00001460: PUSH2 0x146d 00001463: JUMPI 00001464: RETURNDATASIZE 00001465: PUSH1 0x00 00001467: DUP1 00001468: RETURNDATACOPY 00001469: RETURNDATASIZE 0000146a: PUSH1 0x00 0000146c: REVERT 0000146d: JUMPDEST 0000146e: POP 0000146f: POP 00001470: POP 00001471: POP 00001472: JUMPDEST 00001473: PUSH1 0x01 00001475: SWAP1 00001476: SWAP3 00001477: ADD 00001478: SWAP2 00001479: PUSH2 0x12af 0000147c: JUMP 0000147d: JUMPDEST 0000147e: PUSH1 0x40 00001480: DUP1 00001481: MLOAD 00001482: PUSH1 0x01 00001484: PUSH1 0xa0 00001486: PUSH1 0x02 00001488: EXP 00001489: SUB 0000148a: DUP10 0000148b: AND 0000148c: DUP2 0000148d: MSTORE 0000148e: SWAP1 0000148f: MLOAD 00001490: CALLER 00001491: SWAP2 00001492: PUSH32 0x0cd41587e1fdc62ecf8d0627f78a2e52dfb0ac9116b3c84027ce99ba7c2a198a 000014b3: SWAP2 000014b4: SWAP1 000014b5: DUP2 000014b6: SWAP1 000014b7: SUB 000014b8: PUSH1 0x20 000014ba: ADD 000014bb: SWAP1 000014bc: LOG2 000014bd: POP 000014be: POP 000014bf: POP 000014c0: POP 000014c1: POP 000014c2: POP 000014c3: POP 000014c4: JUMP 000014c5: JUMPDEST 000014c6: PUSH1 0x0c 000014c8: SLOAD 000014c9: PUSH21 0x010000000000000000000000000000000000000000 000014df: SWAP1 000014e0: DIV 000014e1: PUSH2 0xffff 000014e4: AND 000014e5: DUP2 000014e6: JUMP 000014e7: JUMPDEST 000014e8: PUSH1 0x02 000014ea: SLOAD 000014eb: PUSH1 0x01 000014ed: PUSH1 0xa0 000014ef: PUSH1 0x02 000014f1: EXP 000014f2: SUB 000014f3: AND 000014f4: DUP2 000014f5: JUMP 000014f6: JUMPDEST 000014f7: PUSH1 0x01 000014f9: PUSH1 0xa0 000014fb: PUSH1 0x02 000014fd: EXP 000014fe: SUB 000014ff: DUP2 00001500: AND 00001501: ISZERO 00001502: ISZERO 00001503: PUSH2 0x150b 00001506: JUMPI 00001507: PUSH1 0x00 00001509: DUP1 0000150a: REVERT 0000150b: JUMPDEST 0000150c: PUSH1 0x00 0000150e: CALLVALUE 0000150f: GT 00001510: PUSH2 0x1518 00001513: JUMPI 00001514: PUSH1 0x00 00001516: DUP1 00001517: REVERT 00001518: JUMPDEST 00001519: PUSH1 0x01 0000151b: PUSH1 0xa0 0000151d: PUSH1 0x02 0000151f: EXP 00001520: SUB 00001521: DUP2 00001522: AND 00001523: PUSH1 0x00 00001525: SWAP1 00001526: DUP2 00001527: MSTORE 00001528: PUSH1 0x00 0000152a: DUP1 0000152b: MLOAD 0000152c: PUSH1 0x20 0000152e: PUSH2 0x21da 00001531: DUP4 00001532: CODECOPY 00001533: DUP2 00001534: MLOAD 00001535: SWAP2 00001536: MSTORE 00001537: PUSH1 0x20 00001539: MSTORE 0000153a: PUSH1 0x40 0000153c: SWAP1 0000153d: KECCAK256 0000153e: SLOAD 0000153f: PUSH2 0x1548 00001542: SWAP1 00001543: CALLVALUE 00001544: PUSH2 0x1ce5 00001547: JUMP 00001548: JUMPDEST 00001549: PUSH1 0x01 0000154b: PUSH1 0xa0 0000154d: PUSH1 0x02 0000154f: EXP 00001550: SUB 00001551: SWAP2 00001552: SWAP1 00001553: SWAP2 00001554: AND 00001555: PUSH1 0x00 00001557: SWAP1 00001558: DUP2 00001559: MSTORE 0000155a: PUSH1 0x00 0000155c: DUP1 0000155d: MLOAD 0000155e: PUSH1 0x20 00001560: PUSH2 0x21da 00001563: DUP4 00001564: CODECOPY 00001565: DUP2 00001566: MLOAD 00001567: SWAP2 00001568: MSTORE 00001569: PUSH1 0x20 0000156b: MSTORE 0000156c: PUSH1 0x40 0000156e: SWAP1 0000156f: KECCAK256 00001570: SSTORE 00001571: JUMP 00001572: JUMPDEST 00001573: PUSH1 0x01 00001575: PUSH1 0xa0 00001577: PUSH1 0x02 00001579: EXP 0000157a: SUB 0000157b: DUP1 0000157c: DUP14 0000157d: AND 0000157e: PUSH1 0x00 00001580: SWAP1 00001581: DUP2 00001582: MSTORE 00001583: PUSH1 0x08 00001585: PUSH1 0x20 00001587: SWAP1 00001588: DUP2 00001589: MSTORE 0000158a: PUSH1 0x40 0000158c: DUP1 0000158d: DUP4 0000158e: KECCAK256 0000158f: SWAP4 00001590: DUP6 00001591: AND 00001592: DUP4 00001593: MSTORE 00001594: SWAP3 00001595: SWAP1 00001596: MSTORE 00001597: SWAP1 00001598: DUP2 00001599: KECCAK256 0000159a: SLOAD 0000159b: DUP4 0000159c: GT 0000159d: DUP1 0000159e: ISZERO 0000159f: SWAP1 000015a0: PUSH2 0x15ba 000015a3: JUMPI 000015a4: POP 000015a5: DUP3 000015a6: PUSH2 0x15b7 000015a9: DUP15 000015aa: DUP15 000015ab: DUP15 000015ac: DUP15 000015ad: DUP15 000015ae: DUP15 000015af: DUP15 000015b0: DUP15 000015b1: DUP15 000015b2: DUP15 000015b3: PUSH2 0x1a70 000015b6: JUMP 000015b7: JUMPDEST 000015b8: LT 000015b9: ISZERO 000015ba: JUMPDEST 000015bb: ISZERO 000015bc: ISZERO 000015bd: PUSH2 0x15c8 000015c0: JUMPI 000015c1: POP 000015c2: PUSH1 0x00 000015c4: PUSH2 0x15cc 000015c7: JUMP 000015c8: JUMPDEST 000015c9: POP 000015ca: PUSH1 0x01 000015cc: JUMPDEST 000015cd: SWAP13 000015ce: SWAP12 000015cf: POP 000015d0: POP 000015d1: POP 000015d2: POP 000015d3: POP 000015d4: POP 000015d5: POP 000015d6: POP 000015d7: POP 000015d8: POP 000015d9: POP 000015da: POP 000015db: JUMP 000015dc: JUMPDEST 000015dd: PUSH1 0x0c 000015df: SLOAD 000015e0: PUSH1 0x01 000015e2: PUSH1 0xa0 000015e4: PUSH1 0x02 000015e6: EXP 000015e7: SUB 000015e8: AND 000015e9: DUP2 000015ea: JUMP 000015eb: JUMPDEST 000015ec: PUSH1 0x00 000015ee: SLOAD 000015ef: PUSH1 0x01 000015f1: PUSH1 0xa0 000015f3: PUSH1 0x02 000015f5: EXP 000015f6: SUB 000015f7: AND 000015f8: CALLER 000015f9: EQ 000015fa: PUSH2 0x1602 000015fd: JUMPI 000015fe: PUSH1 0x00 00001600: DUP1 00001601: REVERT 00001602: JUMPDEST 00001603: PUSH1 0x02 00001605: DUP1 00001606: SLOAD 00001607: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000161c: NOT 0000161d: AND 0000161e: PUSH1 0x01 00001620: PUSH1 0xa0 00001622: PUSH1 0x02 00001624: EXP 00001625: SUB 00001626: SWAP3 00001627: SWAP1 00001628: SWAP3 00001629: AND 0000162a: SWAP2 0000162b: SWAP1 0000162c: SWAP2 0000162d: OR 0000162e: SWAP1 0000162f: SSTORE 00001630: JUMP 00001631: JUMPDEST 00001632: PUSH1 0x01 00001634: SLOAD 00001635: PUSH1 0x01 00001637: PUSH1 0xa0 00001639: PUSH1 0x02 0000163b: EXP 0000163c: SUB 0000163d: AND 0000163e: CALLER 0000163f: EQ 00001640: DUP1 00001641: PUSH2 0x1654 00001644: JUMPI 00001645: POP 00001646: PUSH1 0x00 00001648: SLOAD 00001649: PUSH1 0x01 0000164b: PUSH1 0xa0 0000164d: PUSH1 0x02 0000164f: EXP 00001650: SUB 00001651: AND 00001652: CALLER 00001653: EQ 00001654: JUMPDEST 00001655: ISZERO 00001656: ISZERO 00001657: PUSH2 0x165f 0000165a: JUMPI 0000165b: PUSH1 0x00 0000165d: DUP1 0000165e: REVERT 0000165f: JUMPDEST 00001660: PUSH1 0x06 00001662: SSTORE 00001663: JUMP 00001664: JUMPDEST 00001665: PUSH1 0x06 00001667: SLOAD 00001668: DUP2 00001669: JUMP 0000166a: JUMPDEST 0000166b: PUSH1 0x00 0000166d: SLOAD 0000166e: PUSH1 0x01 00001670: PUSH1 0xa0 00001672: PUSH1 0x02 00001674: EXP 00001675: SUB 00001676: AND 00001677: CALLER 00001678: EQ 00001679: PUSH2 0x1681 0000167c: JUMPI 0000167d: PUSH1 0x00 0000167f: DUP1 00001680: REVERT 00001681: JUMPDEST 00001682: PUSH1 0x01 00001684: PUSH1 0xa0 00001686: PUSH1 0x02 00001688: EXP 00001689: SUB 0000168a: DUP2 0000168b: AND 0000168c: ISZERO 0000168d: ISZERO 0000168e: PUSH2 0x1696 00001691: JUMPI 00001692: PUSH1 0x00 00001694: DUP1 00001695: REVERT 00001696: JUMPDEST 00001697: PUSH1 0x00 00001699: DUP1 0000169a: SLOAD 0000169b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016b0: NOT 000016b1: AND 000016b2: PUSH1 0x01 000016b4: PUSH1 0xa0 000016b6: PUSH1 0x02 000016b8: EXP 000016b9: SUB 000016ba: SWAP3 000016bb: SWAP1 000016bc: SWAP3 000016bd: AND 000016be: SWAP2 000016bf: SWAP1 000016c0: SWAP2 000016c1: OR 000016c2: SWAP1 000016c3: SSTORE 000016c4: JUMP 000016c5: JUMPDEST 000016c6: PUSH1 0x05 000016c8: SLOAD 000016c9: DUP2 000016ca: JUMP 000016cb: JUMPDEST 000016cc: PUSH1 0x01 000016ce: PUSH1 0xa0 000016d0: PUSH1 0x02 000016d2: EXP 000016d3: SUB 000016d4: DUP3 000016d5: AND 000016d6: ISZERO 000016d7: ISZERO 000016d8: PUSH2 0x16e0 000016db: JUMPI 000016dc: PUSH1 0x00 000016de: DUP1 000016df: REVERT 000016e0: JUMPDEST 000016e1: PUSH1 0x01 000016e3: PUSH1 0xa0 000016e5: PUSH1 0x02 000016e7: EXP 000016e8: SUB 000016e9: DUP3 000016ea: AND 000016eb: PUSH1 0x00 000016ed: SWAP1 000016ee: DUP2 000016ef: MSTORE 000016f0: PUSH1 0x08 000016f2: PUSH1 0x20 000016f4: SWAP1 000016f5: DUP2 000016f6: MSTORE 000016f7: PUSH1 0x40 000016f9: DUP1 000016fa: DUP4 000016fb: KECCAK256 000016fc: CALLER 000016fd: DUP5 000016fe: MSTORE 000016ff: SWAP1 00001700: SWAP2 00001701: MSTORE 00001702: SWAP1 00001703: KECCAK256 00001704: SLOAD 00001705: DUP2 00001706: GT 00001707: ISZERO 00001708: PUSH2 0x1710 0000170b: JUMPI 0000170c: PUSH1 0x00 0000170e: DUP1 0000170f: REVERT 00001710: JUMPDEST 00001711: PUSH1 0x01 00001713: PUSH1 0xa0 00001715: PUSH1 0x02 00001717: EXP 00001718: SUB 00001719: DUP3 0000171a: AND 0000171b: PUSH1 0x00 0000171d: SWAP1 0000171e: DUP2 0000171f: MSTORE 00001720: PUSH1 0x08 00001722: PUSH1 0x20 00001724: SWAP1 00001725: DUP2 00001726: MSTORE 00001727: PUSH1 0x40 00001729: DUP1 0000172a: DUP4 0000172b: KECCAK256 0000172c: CALLER 0000172d: DUP5 0000172e: MSTORE 0000172f: SWAP1 00001730: SWAP2 00001731: MSTORE 00001732: SWAP1 00001733: KECCAK256 00001734: SLOAD 00001735: PUSH2 0x173e 00001738: SWAP1 00001739: DUP3 0000173a: PUSH2 0x2179 0000173d: JUMP 0000173e: JUMPDEST 0000173f: PUSH1 0x01 00001741: PUSH1 0xa0 00001743: PUSH1 0x02 00001745: EXP 00001746: SUB 00001747: DUP4 00001748: AND 00001749: PUSH1 0x00 0000174b: DUP2 0000174c: DUP2 0000174d: MSTORE 0000174e: PUSH1 0x08 00001750: PUSH1 0x20 00001752: SWAP1 00001753: DUP2 00001754: MSTORE 00001755: PUSH1 0x40 00001757: DUP1 00001758: DUP4 00001759: KECCAK256 0000175a: CALLER 0000175b: DUP1 0000175c: DUP6 0000175d: MSTORE 0000175e: SWAP1 0000175f: DUP4 00001760: MSTORE 00001761: DUP2 00001762: DUP5 00001763: KECCAK256 00001764: SWAP6 00001765: SWAP1 00001766: SWAP6 00001767: SSTORE 00001768: DUP1 00001769: MLOAD 0000176a: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 0000178b: DUP2 0000178c: MSTORE 0000178d: PUSH1 0x04 0000178f: DUP2 00001790: ADD 00001791: SWAP6 00001792: SWAP1 00001793: SWAP6 00001794: MSTORE 00001795: PUSH1 0x24 00001797: DUP6 00001798: ADD 00001799: DUP7 0000179a: SWAP1 0000179b: MSTORE 0000179c: MLOAD 0000179d: SWAP3 0000179e: SWAP4 0000179f: PUSH4 0xa9059cbb 000017a4: SWAP4 000017a5: PUSH1 0x44 000017a7: DUP1 000017a8: DUP4 000017a9: ADD 000017aa: SWAP5 000017ab: SWAP2 000017ac: SWAP3 000017ad: DUP4 000017ae: SWAP1 000017af: SUB 000017b0: ADD 000017b1: SWAP1 000017b2: DUP3 000017b3: SWAP1 000017b4: DUP8 000017b5: DUP1 000017b6: EXTCODESIZE 000017b7: ISZERO 000017b8: DUP1 000017b9: ISZERO 000017ba: PUSH2 0x17c2 000017bd: JUMPI 000017be: PUSH1 0x00 000017c0: DUP1 000017c1: REVERT 000017c2: JUMPDEST 000017c3: POP 000017c4: GAS 000017c5: CALL 000017c6: ISZERO 000017c7: DUP1 000017c8: ISZERO 000017c9: PUSH2 0x17d6 000017cc: JUMPI 000017cd: RETURNDATASIZE 000017ce: PUSH1 0x00 000017d0: DUP1 000017d1: RETURNDATACOPY 000017d2: RETURNDATASIZE 000017d3: PUSH1 0x00 000017d5: REVERT 000017d6: JUMPDEST 000017d7: POP 000017d8: POP 000017d9: POP 000017da: POP 000017db: PUSH1 0x40 000017dd: MLOAD 000017de: RETURNDATASIZE 000017df: PUSH1 0x20 000017e1: DUP2 000017e2: LT 000017e3: ISZERO 000017e4: PUSH2 0x17ec 000017e7: JUMPI 000017e8: PUSH1 0x00 000017ea: DUP1 000017eb: REVERT 000017ec: JUMPDEST 000017ed: POP 000017ee: MLOAD 000017ef: ISZERO 000017f0: ISZERO 000017f1: PUSH2 0x17f9 000017f4: JUMPI 000017f5: PUSH1 0x00 000017f7: DUP1 000017f8: REVERT 000017f9: JUMPDEST 000017fa: PUSH1 0x01 000017fc: PUSH1 0xa0 000017fe: PUSH1 0x02 00001800: EXP 00001801: SUB 00001802: DUP3 00001803: AND 00001804: PUSH1 0x00 00001806: DUP2 00001807: DUP2 00001808: MSTORE 00001809: PUSH1 0x08 0000180b: PUSH1 0x20 0000180d: SWAP1 0000180e: DUP2 0000180f: MSTORE 00001810: PUSH1 0x40 00001812: DUP1 00001813: DUP4 00001814: KECCAK256 00001815: CALLER 00001816: DUP1 00001817: DUP6 00001818: MSTORE 00001819: SWAP1 0000181a: DUP4 0000181b: MSTORE 0000181c: SWAP3 0000181d: DUP2 0000181e: SWAP1 0000181f: KECCAK256 00001820: SLOAD 00001821: DUP2 00001822: MLOAD 00001823: SWAP5 00001824: DUP6 00001825: MSTORE 00001826: SWAP2 00001827: DUP5 00001828: ADD 00001829: DUP6 0000182a: SWAP1 0000182b: MSTORE 0000182c: DUP4 0000182d: DUP2 0000182e: ADD 0000182f: SWAP2 00001830: SWAP1 00001831: SWAP2 00001832: MSTORE 00001833: MLOAD 00001834: SWAP1 00001835: SWAP2 00001836: PUSH32 0xf341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567 00001857: SWAP2 00001858: SWAP1 00001859: DUP2 0000185a: SWAP1 0000185b: SUB 0000185c: PUSH1 0x60 0000185e: ADD 0000185f: SWAP1 00001860: LOG2 00001861: POP 00001862: POP 00001863: JUMP 00001864: JUMPDEST 00001865: PUSH1 0x01 00001867: SLOAD 00001868: PUSH1 0x01 0000186a: PUSH1 0xa0 0000186c: PUSH1 0x02 0000186e: EXP 0000186f: SUB 00001870: AND 00001871: CALLER 00001872: EQ 00001873: DUP1 00001874: PUSH2 0x1887 00001877: JUMPI 00001878: POP 00001879: PUSH1 0x00 0000187b: SLOAD 0000187c: PUSH1 0x01 0000187e: PUSH1 0xa0 00001880: PUSH1 0x02 00001882: EXP 00001883: SUB 00001884: AND 00001885: CALLER 00001886: EQ 00001887: JUMPDEST 00001888: ISZERO 00001889: ISZERO 0000188a: PUSH2 0x1892 0000188d: JUMPI 0000188e: PUSH1 0x00 00001890: DUP1 00001891: REVERT 00001892: JUMPDEST 00001893: PUSH1 0x01 00001895: PUSH1 0xa0 00001897: PUSH1 0x02 00001899: EXP 0000189a: SUB 0000189b: DUP2 0000189c: AND 0000189d: ISZERO 0000189e: ISZERO 0000189f: PUSH2 0x18a7 000018a2: JUMPI 000018a3: PUSH1 0x00 000018a5: DUP1 000018a6: REVERT 000018a7: JUMPDEST 000018a8: PUSH1 0x01 000018aa: DUP1 000018ab: SLOAD 000018ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018c1: NOT 000018c2: AND 000018c3: PUSH1 0x01 000018c5: PUSH1 0xa0 000018c7: PUSH1 0x02 000018c9: EXP 000018ca: SUB 000018cb: SWAP3 000018cc: SWAP1 000018cd: SWAP3 000018ce: AND 000018cf: SWAP2 000018d0: SWAP1 000018d1: SWAP2 000018d2: OR 000018d3: SWAP1 000018d4: SSTORE 000018d5: JUMP 000018d6: JUMPDEST 000018d7: PUSH1 0x01 000018d9: SLOAD 000018da: PUSH1 0x01 000018dc: PUSH1 0xa0 000018de: PUSH1 0x02 000018e0: EXP 000018e1: SUB 000018e2: AND 000018e3: CALLER 000018e4: EQ 000018e5: DUP1 000018e6: PUSH2 0x18f9 000018e9: JUMPI 000018ea: POP 000018eb: PUSH1 0x00 000018ed: SLOAD 000018ee: PUSH1 0x01 000018f0: PUSH1 0xa0 000018f2: PUSH1 0x02 000018f4: EXP 000018f5: SUB 000018f6: AND 000018f7: CALLER 000018f8: EQ 000018f9: JUMPDEST 000018fa: ISZERO 000018fb: ISZERO 000018fc: PUSH2 0x1904 000018ff: JUMPI 00001900: PUSH1 0x00 00001902: DUP1 00001903: REVERT 00001904: JUMPDEST 00001905: PUSH1 0x05 00001907: SSTORE 00001908: JUMP 00001909: JUMPDEST 0000190a: PUSH1 0x01 0000190c: SLOAD 0000190d: PUSH1 0x01 0000190f: PUSH1 0xa0 00001911: PUSH1 0x02 00001913: EXP 00001914: SUB 00001915: AND 00001916: CALLER 00001917: EQ 00001918: DUP1 00001919: PUSH2 0x192c 0000191c: JUMPI 0000191d: POP 0000191e: PUSH1 0x00 00001920: SLOAD 00001921: PUSH1 0x01 00001923: PUSH1 0xa0 00001925: PUSH1 0x02 00001927: EXP 00001928: SUB 00001929: AND 0000192a: CALLER 0000192b: EQ 0000192c: JUMPDEST 0000192d: ISZERO 0000192e: ISZERO 0000192f: PUSH2 0x1937 00001932: JUMPI 00001933: PUSH1 0x00 00001935: DUP1 00001936: REVERT 00001937: JUMPDEST 00001938: PUSH1 0x04 0000193a: SSTORE 0000193b: JUMP 0000193c: JUMPDEST 0000193d: PUSH1 0x0b 0000193f: SLOAD 00001940: PUSH1 0x01 00001942: PUSH1 0xa0 00001944: PUSH1 0x02 00001946: EXP 00001947: SUB 00001948: AND 00001949: DUP2 0000194a: JUMP 0000194b: JUMPDEST 0000194c: PUSH1 0x09 0000194e: PUSH1 0x20 00001950: SWAP1 00001951: DUP2 00001952: MSTORE 00001953: PUSH1 0x00 00001955: SWAP3 00001956: DUP4 00001957: MSTORE 00001958: PUSH1 0x40 0000195a: DUP1 0000195b: DUP5 0000195c: KECCAK256 0000195d: SWAP1 0000195e: SWAP2 0000195f: MSTORE 00001960: SWAP1 00001961: DUP3 00001962: MSTORE 00001963: SWAP1 00001964: KECCAK256 00001965: SLOAD 00001966: PUSH1 0xff 00001968: AND 00001969: DUP2 0000196a: JUMP 0000196b: JUMPDEST 0000196c: PUSH1 0x07 0000196e: SLOAD 0000196f: PUSH1 0x00 00001971: SWAP1 00001972: PUSH1 0xff 00001974: AND 00001975: ISZERO 00001976: PUSH2 0x1981 00001979: JUMPI 0000197a: POP 0000197b: PUSH1 0x01 0000197d: PUSH2 0x1986 00001980: JUMP 00001981: JUMPDEST 00001982: PUSH1 0x00 00001984: DUP1 00001985: REVERT 00001986: JUMPDEST 00001987: SWAP4 00001988: SWAP3 00001989: POP 0000198a: POP 0000198b: POP 0000198c: JUMP 0000198d: JUMPDEST 0000198e: CALLER 0000198f: PUSH1 0x00 00001991: SWAP1 00001992: DUP2 00001993: MSTORE 00001994: PUSH1 0x00 00001996: DUP1 00001997: MLOAD 00001998: PUSH1 0x20 0000199a: PUSH2 0x21da 0000199d: DUP4 0000199e: CODECOPY 0000199f: DUP2 000019a0: MLOAD 000019a1: SWAP2 000019a2: MSTORE 000019a3: PUSH1 0x20 000019a5: MSTORE 000019a6: PUSH1 0x40 000019a8: SWAP1 000019a9: KECCAK256 000019aa: SLOAD 000019ab: PUSH2 0x19b4 000019ae: SWAP1 000019af: CALLVALUE 000019b0: PUSH2 0x1ce5 000019b3: JUMP 000019b4: JUMPDEST 000019b5: CALLER 000019b6: PUSH1 0x00 000019b8: DUP2 000019b9: DUP2 000019ba: MSTORE 000019bb: PUSH1 0x00 000019bd: DUP1 000019be: MLOAD 000019bf: PUSH1 0x20 000019c1: PUSH2 0x21da 000019c4: DUP4 000019c5: CODECOPY 000019c6: DUP2 000019c7: MLOAD 000019c8: SWAP2 000019c9: MSTORE 000019ca: PUSH1 0x20 000019cc: DUP2 000019cd: DUP2 000019ce: MSTORE 000019cf: PUSH1 0x40 000019d1: DUP1 000019d2: DUP5 000019d3: KECCAK256 000019d4: DUP7 000019d5: SWAP1 000019d6: SSTORE 000019d7: DUP5 000019d8: DUP5 000019d9: MSTORE 000019da: SWAP2 000019db: DUP2 000019dc: MSTORE 000019dd: DUP2 000019de: MLOAD 000019df: SWAP3 000019e0: DUP4 000019e1: MSTORE 000019e2: CALLVALUE 000019e3: SWAP1 000019e4: DUP4 000019e5: ADD 000019e6: MSTORE 000019e7: DUP2 000019e8: DUP2 000019e9: ADD 000019ea: SWAP4 000019eb: SWAP1 000019ec: SWAP4 000019ed: MSTORE 000019ee: SWAP2 000019ef: MLOAD 000019f0: SWAP1 000019f1: SWAP2 000019f2: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00001a13: SWAP2 00001a14: SWAP1 00001a15: DUP2 00001a16: SWAP1 00001a17: SUB 00001a18: PUSH1 0x60 00001a1a: ADD 00001a1b: SWAP1 00001a1c: LOG2 00001a1d: JUMP 00001a1e: JUMPDEST 00001a1f: PUSH20 0x0dd83b5013b2ad7094b1a7783d96ae0168f82621 00001a34: DUP2 00001a35: JUMP 00001a36: JUMPDEST 00001a37: PUSH1 0x01 00001a39: PUSH1 0xa0 00001a3b: PUSH1 0x02 00001a3d: EXP 00001a3e: SUB 00001a3f: SWAP2 00001a40: DUP3 00001a41: AND 00001a42: PUSH1 0x00 00001a44: SWAP1 00001a45: DUP2 00001a46: MSTORE 00001a47: PUSH1 0x08 00001a49: PUSH1 0x20 00001a4b: SWAP1 00001a4c: DUP2 00001a4d: MSTORE 00001a4e: PUSH1 0x40 00001a50: DUP1 00001a51: DUP4 00001a52: KECCAK256 00001a53: SWAP4 00001a54: SWAP1 00001a55: SWAP5 00001a56: AND 00001a57: DUP3 00001a58: MSTORE 00001a59: SWAP2 00001a5a: SWAP1 00001a5b: SWAP2 00001a5c: MSTORE 00001a5d: KECCAK256 00001a5e: SLOAD 00001a5f: SWAP1 00001a60: JUMP 00001a61: JUMPDEST 00001a62: PUSH1 0x00 00001a64: SLOAD 00001a65: PUSH1 0x01 00001a67: PUSH1 0xa0 00001a69: PUSH1 0x02 00001a6b: EXP 00001a6c: SUB 00001a6d: AND 00001a6e: DUP2 00001a6f: JUMP 00001a70: JUMPDEST 00001a71: PUSH1 0x00 00001a73: DUP1 00001a74: PUSH2 0x1a7b 00001a77: PUSH2 0x21be 00001a7a: JUMP 00001a7b: JUMPDEST 00001a7c: ADDRESS 00001a7d: DUP14 00001a7e: DUP14 00001a7f: DUP14 00001a80: DUP14 00001a81: DUP14 00001a82: DUP14 00001a83: PUSH1 0x40 00001a85: MLOAD 00001a86: DUP1 00001a87: DUP9 00001a88: PUSH1 0x01 00001a8a: PUSH1 0xa0 00001a8c: PUSH1 0x02 00001a8e: EXP 00001a8f: SUB 00001a90: AND 00001a91: PUSH1 0x01 00001a93: PUSH1 0xa0 00001a95: PUSH1 0x02 00001a97: EXP 00001a98: SUB 00001a99: AND 00001a9a: PUSH13 0x01000000000000000000000000 00001aa8: MUL 00001aa9: DUP2 00001aaa: MSTORE 00001aab: PUSH1 0x14 00001aad: ADD 00001aae: DUP8 00001aaf: PUSH1 0x01 00001ab1: PUSH1 0xa0 00001ab3: PUSH1 0x02 00001ab5: EXP 00001ab6: SUB 00001ab7: AND 00001ab8: PUSH1 0x01 00001aba: PUSH1 0xa0 00001abc: PUSH1 0x02 00001abe: EXP 00001abf: SUB 00001ac0: AND 00001ac1: PUSH13 0x01000000000000000000000000 00001acf: MUL 00001ad0: DUP2 00001ad1: MSTORE 00001ad2: PUSH1 0x14 00001ad4: ADD 00001ad5: DUP7 00001ad6: DUP2 00001ad7: MSTORE 00001ad8: PUSH1 0x20 00001ada: ADD 00001adb: DUP6 00001adc: PUSH1 0x01 00001ade: PUSH1 0xa0 00001ae0: PUSH1 0x02 00001ae2: EXP 00001ae3: SUB 00001ae4: AND 00001ae5: PUSH1 0x01 00001ae7: PUSH1 0xa0 00001ae9: PUSH1 0x02 00001aeb: EXP 00001aec: SUB 00001aed: AND 00001aee: PUSH13 0x01000000000000000000000000 00001afc: MUL 00001afd: DUP2 00001afe: MSTORE 00001aff: PUSH1 0x14 00001b01: ADD 00001b02: DUP5 00001b03: DUP2 00001b04: MSTORE 00001b05: PUSH1 0x20 00001b07: ADD 00001b08: DUP4 00001b09: DUP2 00001b0a: MSTORE 00001b0b: PUSH1 0x20 00001b0d: ADD 00001b0e: DUP3 00001b0f: DUP2 00001b10: MSTORE 00001b11: PUSH1 0x20 00001b13: ADD 00001b14: SWAP8 00001b15: POP 00001b16: POP 00001b17: POP 00001b18: POP 00001b19: POP 00001b1a: POP 00001b1b: POP 00001b1c: POP 00001b1d: PUSH1 0x40 00001b1f: MLOAD 00001b20: DUP1 00001b21: SWAP2 00001b22: SUB 00001b23: SWAP1 00001b24: KECCAK256 00001b25: SWAP2 00001b26: POP 00001b27: PUSH1 0x09 00001b29: PUSH1 0x00 00001b2b: DUP9 00001b2c: PUSH1 0x01 00001b2e: PUSH1 0xa0 00001b30: PUSH1 0x02 00001b32: EXP 00001b33: SUB 00001b34: AND 00001b35: PUSH1 0x01 00001b37: PUSH1 0xa0 00001b39: PUSH1 0x02 00001b3b: EXP 00001b3c: SUB 00001b3d: AND 00001b3e: DUP2 00001b3f: MSTORE 00001b40: PUSH1 0x20 00001b42: ADD 00001b43: SWAP1 00001b44: DUP2 00001b45: MSTORE 00001b46: PUSH1 0x20 00001b48: ADD 00001b49: PUSH1 0x00 00001b4b: KECCAK256 00001b4c: PUSH1 0x00 00001b4e: DUP4 00001b4f: PUSH1 0x00 00001b51: NOT 00001b52: AND 00001b53: PUSH1 0x00 00001b55: NOT 00001b56: AND 00001b57: DUP2 00001b58: MSTORE 00001b59: PUSH1 0x20 00001b5b: ADD 00001b5c: SWAP1 00001b5d: DUP2 00001b5e: MSTORE 00001b5f: PUSH1 0x20 00001b61: ADD 00001b62: PUSH1 0x00 00001b64: KECCAK256 00001b65: PUSH1 0x00 00001b67: SWAP1 00001b68: SLOAD 00001b69: SWAP1 00001b6a: PUSH2 0x0100 00001b6d: EXP 00001b6e: SWAP1 00001b6f: DIV 00001b70: PUSH1 0xff 00001b72: AND 00001b73: DUP1 00001b74: PUSH2 0x1c26 00001b77: JUMPI 00001b78: POP 00001b79: PUSH1 0x40 00001b7b: DUP1 00001b7c: MLOAD 00001b7d: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 00001b9e: DUP2 00001b9f: MSTORE 00001ba0: PUSH1 0x1c 00001ba2: DUP2 00001ba3: ADD 00001ba4: DUP5 00001ba5: SWAP1 00001ba6: MSTORE 00001ba7: DUP2 00001ba8: MLOAD 00001ba9: SWAP1 00001baa: DUP2 00001bab: SWAP1 00001bac: SUB 00001bad: PUSH1 0x3c 00001baf: ADD 00001bb0: DUP2 00001bb1: KECCAK256 00001bb2: PUSH1 0x00 00001bb4: DUP1 00001bb5: DUP4 00001bb6: MSTORE 00001bb7: PUSH1 0x20 00001bb9: DUP4 00001bba: DUP2 00001bbb: ADD 00001bbc: DUP1 00001bbd: DUP7 00001bbe: MSTORE 00001bbf: SWAP3 00001bc0: SWAP1 00001bc1: SWAP3 00001bc2: MSTORE 00001bc3: PUSH1 0xff 00001bc5: DUP11 00001bc6: AND 00001bc7: DUP4 00001bc8: DUP6 00001bc9: ADD 00001bca: MSTORE 00001bcb: PUSH1 0x60 00001bcd: DUP4 00001bce: ADD 00001bcf: DUP10 00001bd0: SWAP1 00001bd1: MSTORE 00001bd2: PUSH1 0x80 00001bd4: DUP4 00001bd5: ADD 00001bd6: DUP9 00001bd7: SWAP1 00001bd8: MSTORE 00001bd9: SWAP3 00001bda: MLOAD 00001bdb: PUSH1 0x01 00001bdd: PUSH1 0xa0 00001bdf: PUSH1 0x02 00001be1: EXP 00001be2: SUB 00001be3: DUP12 00001be4: AND 00001be5: SWAP4 00001be6: PUSH1 0x01 00001be8: SWAP4 00001be9: PUSH1 0xa0 00001beb: DUP1 00001bec: DUP3 00001bed: ADD 00001bee: SWAP5 00001bef: SWAP4 00001bf0: PUSH1 0x1f 00001bf2: NOT 00001bf3: DUP2 00001bf4: ADD 00001bf5: SWAP4 00001bf6: SWAP3 00001bf7: DUP2 00001bf8: SWAP1 00001bf9: SUB 00001bfa: SWAP1 00001bfb: SWAP2 00001bfc: ADD 00001bfd: SWAP2 00001bfe: DUP7 00001bff: GAS 00001c00: CALL 00001c01: ISZERO 00001c02: DUP1 00001c03: ISZERO 00001c04: PUSH2 0x1c11 00001c07: JUMPI 00001c08: RETURNDATASIZE 00001c09: PUSH1 0x00 00001c0b: DUP1 00001c0c: RETURNDATACOPY 00001c0d: RETURNDATASIZE 00001c0e: PUSH1 0x00 00001c10: REVERT 00001c11: JUMPDEST 00001c12: POP 00001c13: POP 00001c14: POP 00001c15: PUSH1 0x20 00001c17: PUSH1 0x40 00001c19: MLOAD 00001c1a: SUB 00001c1b: MLOAD 00001c1c: PUSH1 0x01 00001c1e: PUSH1 0xa0 00001c20: PUSH1 0x02 00001c22: EXP 00001c23: SUB 00001c24: AND 00001c25: EQ 00001c26: JUMPDEST 00001c27: DUP1 00001c28: ISZERO 00001c29: PUSH2 0x1c32 00001c2c: JUMPI 00001c2d: POP 00001c2e: DUP9 00001c2f: NUMBER 00001c30: GT 00001c31: ISZERO 00001c32: JUMPDEST 00001c33: ISZERO 00001c34: ISZERO 00001c35: PUSH2 0x1c41 00001c38: JUMPI 00001c39: PUSH1 0x00 00001c3b: SWAP3 00001c3c: POP 00001c3d: PUSH2 0x1cd5 00001c40: JUMP 00001c41: JUMPDEST 00001c42: PUSH1 0x01 00001c44: PUSH1 0xa0 00001c46: PUSH1 0x02 00001c48: EXP 00001c49: SUB 00001c4a: DUP8 00001c4b: AND 00001c4c: PUSH1 0x00 00001c4e: SWAP1 00001c4f: DUP2 00001c50: MSTORE 00001c51: PUSH1 0x0a 00001c53: PUSH1 0x20 00001c55: SWAP1 00001c56: DUP2 00001c57: MSTORE 00001c58: PUSH1 0x40 00001c5a: DUP1 00001c5b: DUP4 00001c5c: KECCAK256 00001c5d: DUP6 00001c5e: DUP5 00001c5f: MSTORE 00001c60: SWAP1 00001c61: SWAP2 00001c62: MSTORE 00001c63: SWAP1 00001c64: KECCAK256 00001c65: SLOAD 00001c66: PUSH2 0x1c70 00001c69: SWAP1 00001c6a: DUP14 00001c6b: SWAP1 00001c6c: PUSH2 0x2179 00001c6f: JUMP 00001c70: JUMPDEST 00001c71: DUP2 00001c72: MSTORE 00001c73: PUSH1 0x01 00001c75: PUSH1 0xa0 00001c77: PUSH1 0x02 00001c79: EXP 00001c7a: SUB 00001c7b: DUP12 00001c7c: DUP2 00001c7d: AND 00001c7e: PUSH1 0x00 00001c80: SWAP1 00001c81: DUP2 00001c82: MSTORE 00001c83: PUSH1 0x08 00001c85: PUSH1 0x20 00001c87: SWAP1 00001c88: DUP2 00001c89: MSTORE 00001c8a: PUSH1 0x40 00001c8c: DUP1 00001c8d: DUP4 00001c8e: KECCAK256 00001c8f: SWAP4 00001c90: DUP12 00001c91: AND 00001c92: DUP4 00001c93: MSTORE 00001c94: SWAP3 00001c95: SWAP1 00001c96: MSTORE 00001c97: KECCAK256 00001c98: SLOAD 00001c99: DUP11 00001c9a: SWAP1 00001c9b: PUSH2 0x1ca4 00001c9e: SWAP1 00001c9f: DUP15 00001ca0: PUSH2 0x2190 00001ca3: JUMP 00001ca4: JUMPDEST 00001ca5: DUP2 00001ca6: ISZERO 00001ca7: ISZERO 00001ca8: PUSH2 0x1cad 00001cab: JUMPI 00001cac: INVALID 00001cad: JUMPDEST 00001cae: DIV 00001caf: PUSH1 0x20 00001cb1: DUP3 00001cb2: ADD 00001cb3: DUP2 00001cb4: SWAP1 00001cb5: MSTORE 00001cb6: DUP2 00001cb7: MLOAD 00001cb8: LT 00001cb9: ISZERO 00001cba: PUSH2 0x1ccd 00001cbd: JUMPI 00001cbe: DUP1 00001cbf: PUSH1 0x00 00001cc1: JUMPDEST 00001cc2: PUSH1 0x20 00001cc4: MUL 00001cc5: ADD 00001cc6: MLOAD 00001cc7: SWAP3 00001cc8: POP 00001cc9: PUSH2 0x1cd5 00001ccc: JUMP 00001ccd: JUMPDEST 00001cce: DUP1 00001ccf: PUSH1 0x01 00001cd1: PUSH2 0x1cc1 00001cd4: JUMP 00001cd5: JUMPDEST 00001cd6: POP 00001cd7: POP 00001cd8: SWAP11 00001cd9: SWAP10 00001cda: POP 00001cdb: POP 00001cdc: POP 00001cdd: POP 00001cde: POP 00001cdf: POP 00001ce0: POP 00001ce1: POP 00001ce2: POP 00001ce3: POP 00001ce4: JUMP 00001ce5: JUMPDEST 00001ce6: PUSH1 0x00 00001ce8: DUP3 00001ce9: DUP3 00001cea: ADD 00001ceb: DUP4 00001cec: DUP2 00001ced: LT 00001cee: ISZERO 00001cef: PUSH2 0x1cf7 00001cf2: JUMPI 00001cf3: PUSH1 0x00 00001cf5: DUP1 00001cf6: REVERT 00001cf7: JUMPDEST 00001cf8: DUP1 00001cf9: SWAP2 00001cfa: POP 00001cfb: JUMPDEST 00001cfc: POP 00001cfd: SWAP3 00001cfe: SWAP2 00001cff: POP 00001d00: POP 00001d01: JUMP 00001d02: JUMPDEST 00001d03: PUSH1 0x01 00001d05: PUSH1 0xa0 00001d07: PUSH1 0x02 00001d09: EXP 00001d0a: SUB 00001d0b: DUP7 00001d0c: AND 00001d0d: PUSH20 0x0dd83b5013b2ad7094b1a7783d96ae0168f82621 00001d22: EQ 00001d23: DUP1 00001d24: PUSH2 0x1d49 00001d27: JUMPI 00001d28: POP 00001d29: PUSH1 0x01 00001d2b: PUSH1 0xa0 00001d2d: PUSH1 0x02 00001d2f: EXP 00001d30: SUB 00001d31: DUP5 00001d32: AND 00001d33: PUSH20 0x0dd83b5013b2ad7094b1a7783d96ae0168f82621 00001d48: EQ 00001d49: JUMPDEST 00001d4a: ISZERO 00001d4b: PUSH2 0x1f7d 00001d4e: JUMPI 00001d4f: PUSH1 0x01 00001d51: PUSH1 0xa0 00001d53: PUSH1 0x02 00001d55: EXP 00001d56: SUB 00001d57: DUP7 00001d58: AND 00001d59: PUSH1 0x00 00001d5b: SWAP1 00001d5c: DUP2 00001d5d: MSTORE 00001d5e: PUSH1 0x08 00001d60: PUSH1 0x20 00001d62: SWAP1 00001d63: DUP2 00001d64: MSTORE 00001d65: PUSH1 0x40 00001d67: DUP1 00001d68: DUP4 00001d69: KECCAK256 00001d6a: CALLER 00001d6b: DUP5 00001d6c: MSTORE 00001d6d: SWAP1 00001d6e: SWAP2 00001d6f: MSTORE 00001d70: SWAP1 00001d71: KECCAK256 00001d72: SLOAD 00001d73: PUSH2 0x1d7c 00001d76: SWAP1 00001d77: DUP3 00001d78: PUSH2 0x2179 00001d7b: JUMP 00001d7c: JUMPDEST 00001d7d: PUSH1 0x01 00001d7f: PUSH1 0xa0 00001d81: PUSH1 0x02 00001d83: EXP 00001d84: SUB 00001d85: DUP8 00001d86: DUP2 00001d87: AND 00001d88: PUSH1 0x00 00001d8a: SWAP1 00001d8b: DUP2 00001d8c: MSTORE 00001d8d: PUSH1 0x08 00001d8f: PUSH1 0x20 00001d91: SWAP1 00001d92: DUP2 00001d93: MSTORE 00001d94: PUSH1 0x40 00001d96: DUP1 00001d97: DUP4 00001d98: KECCAK256 00001d99: CALLER 00001d9a: DUP5 00001d9b: MSTORE 00001d9c: SWAP1 00001d9d: SWAP2 00001d9e: MSTORE 00001d9f: DUP1 00001da0: DUP3 00001da1: KECCAK256 00001da2: SWAP4 00001da3: SWAP1 00001da4: SWAP4 00001da5: SSTORE 00001da6: SWAP1 00001da7: DUP5 00001da8: AND 00001da9: DUP2 00001daa: MSTORE 00001dab: KECCAK256 00001dac: SLOAD 00001dad: PUSH1 0x05 00001daf: SLOAD 00001db0: PUSH2 0x1dda 00001db3: SWAP2 00001db4: SWAP1 00001db5: PUSH8 0x0de0b6b3a7640000 00001dbe: SWAP1 00001dbf: PUSH2 0x1dcb 00001dc2: SWAP1 00001dc3: DUP6 00001dc4: SWAP1 00001dc5: DUP4 00001dc6: SUB 00001dc7: PUSH2 0x2190 00001dca: JUMP 00001dcb: JUMPDEST 00001dcc: DUP2 00001dcd: ISZERO 00001dce: ISZERO 00001dcf: PUSH2 0x1dd4 00001dd2: JUMPI 00001dd3: INVALID 00001dd4: JUMPDEST 00001dd5: DIV 00001dd6: PUSH2 0x1ce5 00001dd9: JUMP 00001dda: JUMPDEST 00001ddb: PUSH1 0x01 00001ddd: PUSH1 0xa0 00001ddf: PUSH1 0x02 00001de1: EXP 00001de2: SUB 00001de3: DUP8 00001de4: DUP2 00001de5: AND 00001de6: PUSH1 0x00 00001de8: SWAP1 00001de9: DUP2 00001dea: MSTORE 00001deb: PUSH1 0x08 00001ded: PUSH1 0x20 00001def: SWAP1 00001df0: DUP2 00001df1: MSTORE 00001df2: PUSH1 0x40 00001df4: DUP1 00001df5: DUP4 00001df6: KECCAK256 00001df7: DUP8 00001df8: DUP6 00001df9: AND 00001dfa: DUP5 00001dfb: MSTORE 00001dfc: SWAP1 00001dfd: SWAP2 00001dfe: MSTORE 00001dff: DUP1 00001e00: DUP3 00001e01: KECCAK256 00001e02: SWAP4 00001e03: SWAP1 00001e04: SWAP4 00001e05: SSTORE 00001e06: PUSH1 0x02 00001e08: SLOAD 00001e09: SWAP1 00001e0a: SWAP2 00001e0b: AND 00001e0c: DUP2 00001e0d: MSTORE 00001e0e: KECCAK256 00001e0f: SLOAD 00001e10: PUSH1 0x05 00001e12: SLOAD 00001e13: PUSH2 0x1e2c 00001e16: SWAP2 00001e17: SWAP1 00001e18: PUSH8 0x0de0b6b3a7640000 00001e21: SWAP1 00001e22: PUSH2 0x1dcb 00001e25: SWAP1 00001e26: DUP6 00001e27: SWAP1 00001e28: PUSH2 0x2190 00001e2b: JUMP 00001e2c: JUMPDEST 00001e2d: PUSH1 0x01 00001e2f: PUSH1 0xa0 00001e31: PUSH1 0x02 00001e33: EXP 00001e34: SUB 00001e35: DUP1 00001e36: DUP9 00001e37: AND 00001e38: PUSH1 0x00 00001e3a: SWAP1 00001e3b: DUP2 00001e3c: MSTORE 00001e3d: PUSH1 0x08 00001e3f: PUSH1 0x20 00001e41: DUP2 00001e42: DUP2 00001e43: MSTORE 00001e44: PUSH1 0x40 00001e46: DUP1 00001e47: DUP5 00001e48: KECCAK256 00001e49: PUSH1 0x02 00001e4b: SLOAD 00001e4c: DUP7 00001e4d: AND 00001e4e: DUP6 00001e4f: MSTORE 00001e50: DUP3 00001e51: MSTORE 00001e52: DUP1 00001e53: DUP5 00001e54: KECCAK256 00001e55: SWAP6 00001e56: SWAP1 00001e57: SWAP6 00001e58: SSTORE 00001e59: DUP9 00001e5a: DUP5 00001e5b: AND 00001e5c: DUP4 00001e5d: MSTORE 00001e5e: SWAP1 00001e5f: DUP2 00001e60: MSTORE 00001e61: DUP4 00001e62: DUP3 00001e63: KECCAK256 00001e64: SWAP3 00001e65: DUP7 00001e66: AND 00001e67: DUP3 00001e68: MSTORE 00001e69: SWAP2 00001e6a: SWAP1 00001e6b: SWAP2 00001e6c: MSTORE 00001e6d: KECCAK256 00001e6e: SLOAD 00001e6f: PUSH2 0x1e8c 00001e72: SWAP1 00001e73: DUP7 00001e74: PUSH2 0x1e7d 00001e77: DUP7 00001e78: DUP6 00001e79: PUSH2 0x2190 00001e7c: JUMP 00001e7d: JUMPDEST 00001e7e: DUP2 00001e7f: ISZERO 00001e80: ISZERO 00001e81: PUSH2 0x1e86 00001e84: JUMPI 00001e85: INVALID 00001e86: JUMPDEST 00001e87: DIV 00001e88: PUSH2 0x2179 00001e8b: JUMP 00001e8c: JUMPDEST 00001e8d: PUSH1 0x01 00001e8f: PUSH1 0xa0 00001e91: PUSH1 0x02 00001e93: EXP 00001e94: SUB 00001e95: DUP6 00001e96: DUP2 00001e97: AND 00001e98: PUSH1 0x00 00001e9a: SWAP1 00001e9b: DUP2 00001e9c: MSTORE 00001e9d: PUSH1 0x08 00001e9f: PUSH1 0x20 00001ea1: SWAP1 00001ea2: DUP2 00001ea3: MSTORE 00001ea4: PUSH1 0x40 00001ea6: DUP1 00001ea7: DUP4 00001ea8: KECCAK256 00001ea9: SWAP4 00001eaa: DUP8 00001eab: AND 00001eac: DUP4 00001ead: MSTORE 00001eae: SWAP3 00001eaf: SWAP1 00001eb0: MSTORE 00001eb1: DUP2 00001eb2: DUP2 00001eb3: KECCAK256 00001eb4: SWAP3 00001eb5: SWAP1 00001eb6: SWAP3 00001eb7: SSTORE 00001eb8: CALLER 00001eb9: DUP3 00001eba: MSTORE 00001ebb: SWAP1 00001ebc: KECCAK256 00001ebd: SLOAD 00001ebe: PUSH1 0x06 00001ec0: SLOAD 00001ec1: PUSH2 0x1efa 00001ec4: SWAP2 00001ec5: SWAP1 00001ec6: PUSH8 0x0de0b6b3a7640000 00001ecf: SWAP1 00001ed0: DUP9 00001ed1: SWAP1 00001ed2: PUSH2 0x1ee7 00001ed5: SWAP1 00001ed6: PUSH2 0x1ee1 00001ed9: SWAP1 00001eda: DUP5 00001edb: SUB 00001edc: DUP10 00001edd: PUSH2 0x2190 00001ee0: JUMP 00001ee1: JUMPDEST 00001ee2: DUP7 00001ee3: PUSH2 0x2190 00001ee6: JUMP 00001ee7: JUMPDEST 00001ee8: DUP2 00001ee9: ISZERO 00001eea: ISZERO 00001eeb: PUSH2 0x1ef0 00001eee: JUMPI 00001eef: INVALID 00001ef0: JUMPDEST 00001ef1: DIV 00001ef2: DUP2 00001ef3: ISZERO 00001ef4: ISZERO 00001ef5: PUSH2 0x1dd4 00001ef8: JUMPI 00001ef9: INVALID 00001efa: JUMPDEST 00001efb: PUSH1 0x01 00001efd: PUSH1 0xa0 00001eff: PUSH1 0x02 00001f01: EXP 00001f02: SUB 00001f03: DUP6 00001f04: DUP2 00001f05: AND 00001f06: PUSH1 0x00 00001f08: SWAP1 00001f09: DUP2 00001f0a: MSTORE 00001f0b: PUSH1 0x08 00001f0d: PUSH1 0x20 00001f0f: SWAP1 00001f10: DUP2 00001f11: MSTORE 00001f12: PUSH1 0x40 00001f14: DUP1 00001f15: DUP4 00001f16: KECCAK256 00001f17: CALLER 00001f18: DUP5 00001f19: MSTORE 00001f1a: SWAP1 00001f1b: SWAP2 00001f1c: MSTORE 00001f1d: DUP1 00001f1e: DUP3 00001f1f: KECCAK256 00001f20: SWAP4 00001f21: SWAP1 00001f22: SWAP4 00001f23: SSTORE 00001f24: PUSH1 0x02 00001f26: SLOAD 00001f27: SWAP1 00001f28: SWAP2 00001f29: AND 00001f2a: DUP2 00001f2b: MSTORE 00001f2c: KECCAK256 00001f2d: SLOAD 00001f2e: PUSH1 0x06 00001f30: SLOAD 00001f31: PUSH2 0x1f4f 00001f34: SWAP2 00001f35: SWAP1 00001f36: PUSH8 0x0de0b6b3a7640000 00001f3f: SWAP1 00001f40: DUP9 00001f41: SWAP1 00001f42: PUSH2 0x1ee7 00001f45: SWAP1 00001f46: PUSH2 0x1ee1 00001f49: SWAP1 00001f4a: DUP10 00001f4b: PUSH2 0x2190 00001f4e: JUMP 00001f4f: JUMPDEST 00001f50: PUSH1 0x01 00001f52: PUSH1 0xa0 00001f54: PUSH1 0x02 00001f56: EXP 00001f57: SUB 00001f58: DUP1 00001f59: DUP7 00001f5a: AND 00001f5b: PUSH1 0x00 00001f5d: SWAP1 00001f5e: DUP2 00001f5f: MSTORE 00001f60: PUSH1 0x08 00001f62: PUSH1 0x20 00001f64: SWAP1 00001f65: DUP2 00001f66: MSTORE 00001f67: PUSH1 0x40 00001f69: DUP1 00001f6a: DUP4 00001f6b: KECCAK256 00001f6c: PUSH1 0x02 00001f6e: SLOAD 00001f6f: SWAP1 00001f70: SWAP5 00001f71: AND 00001f72: DUP4 00001f73: MSTORE 00001f74: SWAP3 00001f75: SWAP1 00001f76: MSTORE 00001f77: KECCAK256 00001f78: SSTORE 00001f79: PUSH2 0x2171 00001f7c: JUMP 00001f7d: JUMPDEST 00001f7e: PUSH1 0x01 00001f80: PUSH1 0xa0 00001f82: PUSH1 0x02 00001f84: EXP 00001f85: SUB 00001f86: DUP7 00001f87: AND 00001f88: PUSH1 0x00 00001f8a: SWAP1 00001f8b: DUP2 00001f8c: MSTORE 00001f8d: PUSH1 0x08 00001f8f: PUSH1 0x20 00001f91: SWAP1 00001f92: DUP2 00001f93: MSTORE 00001f94: PUSH1 0x40 00001f96: DUP1 00001f97: DUP4 00001f98: KECCAK256 00001f99: CALLER 00001f9a: DUP5 00001f9b: MSTORE 00001f9c: SWAP1 00001f9d: SWAP2 00001f9e: MSTORE 00001f9f: SWAP1 00001fa0: KECCAK256 00001fa1: SLOAD 00001fa2: PUSH2 0x1fab 00001fa5: SWAP1 00001fa6: DUP3 00001fa7: PUSH2 0x2179 00001faa: JUMP 00001fab: JUMPDEST 00001fac: PUSH1 0x01 00001fae: PUSH1 0xa0 00001fb0: PUSH1 0x02 00001fb2: EXP 00001fb3: SUB 00001fb4: DUP8 00001fb5: DUP2 00001fb6: AND 00001fb7: PUSH1 0x00 00001fb9: SWAP1 00001fba: DUP2 00001fbb: MSTORE 00001fbc: PUSH1 0x08 00001fbe: PUSH1 0x20 00001fc0: SWAP1 00001fc1: DUP2 00001fc2: MSTORE 00001fc3: PUSH1 0x40 00001fc5: DUP1 00001fc6: DUP4 00001fc7: KECCAK256 00001fc8: CALLER 00001fc9: DUP5 00001fca: MSTORE 00001fcb: SWAP1 00001fcc: SWAP2 00001fcd: MSTORE 00001fce: DUP1 00001fcf: DUP3 00001fd0: KECCAK256 00001fd1: SWAP4 00001fd2: SWAP1 00001fd3: SWAP4 00001fd4: SSTORE 00001fd5: SWAP1 00001fd6: DUP5 00001fd7: AND 00001fd8: DUP2 00001fd9: MSTORE 00001fda: KECCAK256 00001fdb: SLOAD 00001fdc: PUSH1 0x03 00001fde: SLOAD 00001fdf: PUSH2 0x1ffa 00001fe2: SWAP2 00001fe3: SWAP1 00001fe4: PUSH8 0x0de0b6b3a7640000 00001fed: SWAP1 00001fee: PUSH2 0x1dcb 00001ff1: SWAP1 00001ff2: DUP6 00001ff3: SWAP1 00001ff4: DUP4 00001ff5: SUB 00001ff6: PUSH2 0x2190 00001ff9: JUMP 00001ffa: JUMPDEST 00001ffb: PUSH1 0x01 00001ffd: PUSH1 0xa0 00001fff: PUSH1 0x02 00002001: EXP 00002002: SUB 00002003: DUP8 00002004: DUP2 00002005: AND 00002006: PUSH1 0x00 00002008: SWAP1 00002009: DUP2 0000200a: MSTORE 0000200b: PUSH1 0x08 0000200d: PUSH1 0x20 0000200f: SWAP1 00002010: DUP2 00002011: MSTORE 00002012: PUSH1 0x40 00002014: DUP1 00002015: DUP4 00002016: KECCAK256 00002017: DUP8 00002018: DUP6 00002019: AND 0000201a: DUP5 0000201b: MSTORE 0000201c: SWAP1 0000201d: SWAP2 0000201e: MSTORE 0000201f: DUP1 00002020: DUP3 00002021: KECCAK256 00002022: SWAP4 00002023: SWAP1 00002024: SWAP4 00002025: SSTORE 00002026: PUSH1 0x02 00002028: SLOAD 00002029: SWAP1 0000202a: SWAP2 0000202b: AND 0000202c: DUP2 0000202d: MSTORE 0000202e: KECCAK256 0000202f: SLOAD 00002030: PUSH1 0x03 00002032: SLOAD 00002033: PUSH2 0x204c 00002036: SWAP2 00002037: SWAP1 00002038: PUSH8 0x0de0b6b3a7640000 00002041: SWAP1 00002042: PUSH2 0x1dcb 00002045: SWAP1 00002046: DUP6 00002047: SWAP1 00002048: PUSH2 0x2190 0000204b: JUMP 0000204c: JUMPDEST 0000204d: PUSH1 0x01 0000204f: PUSH1 0xa0 00002051: PUSH1 0x02 00002053: EXP 00002054: SUB 00002055: DUP1 00002056: DUP9 00002057: AND 00002058: PUSH1 0x00 0000205a: SWAP1 0000205b: DUP2 0000205c: MSTORE 0000205d: PUSH1 0x08 0000205f: PUSH1 0x20 00002061: DUP2 00002062: DUP2 00002063: MSTORE 00002064: PUSH1 0x40 00002066: DUP1 00002067: DUP5 00002068: KECCAK256 00002069: PUSH1 0x02 0000206b: SLOAD 0000206c: DUP7 0000206d: AND 0000206e: DUP6 0000206f: MSTORE 00002070: DUP3 00002071: MSTORE 00002072: DUP1 00002073: DUP5 00002074: KECCAK256 00002075: SWAP6 00002076: SWAP1 00002077: SWAP6 00002078: SSTORE 00002079: DUP9 0000207a: DUP5 0000207b: AND 0000207c: DUP4 0000207d: MSTORE 0000207e: SWAP1 0000207f: DUP2 00002080: MSTORE 00002081: DUP4 00002082: DUP3 00002083: KECCAK256 00002084: SWAP3 00002085: DUP7 00002086: AND 00002087: DUP3 00002088: MSTORE 00002089: SWAP2 0000208a: SWAP1 0000208b: SWAP2 0000208c: MSTORE 0000208d: KECCAK256 0000208e: SLOAD 0000208f: PUSH2 0x209d 00002092: SWAP1 00002093: DUP7 00002094: PUSH2 0x1e7d 00002097: DUP7 00002098: DUP6 00002099: PUSH2 0x2190 0000209c: JUMP 0000209d: JUMPDEST 0000209e: PUSH1 0x01 000020a0: PUSH1 0xa0 000020a2: PUSH1 0x02 000020a4: EXP 000020a5: SUB 000020a6: DUP6 000020a7: DUP2 000020a8: AND 000020a9: PUSH1 0x00 000020ab: SWAP1 000020ac: DUP2 000020ad: MSTORE 000020ae: PUSH1 0x08 000020b0: PUSH1 0x20 000020b2: SWAP1 000020b3: DUP2 000020b4: MSTORE 000020b5: PUSH1 0x40 000020b7: DUP1 000020b8: DUP4 000020b9: KECCAK256 000020ba: SWAP4 000020bb: DUP8 000020bc: AND 000020bd: DUP4 000020be: MSTORE 000020bf: SWAP3 000020c0: SWAP1 000020c1: MSTORE 000020c2: DUP2 000020c3: DUP2 000020c4: KECCAK256 000020c5: SWAP3 000020c6: SWAP1 000020c7: SWAP3 000020c8: SSTORE 000020c9: CALLER 000020ca: DUP3 000020cb: MSTORE 000020cc: SWAP1 000020cd: KECCAK256 000020ce: SLOAD 000020cf: PUSH1 0x04 000020d1: SLOAD 000020d2: PUSH2 0x20f2 000020d5: SWAP2 000020d6: SWAP1 000020d7: PUSH8 0x0de0b6b3a7640000 000020e0: SWAP1 000020e1: DUP9 000020e2: SWAP1 000020e3: PUSH2 0x1ee7 000020e6: SWAP1 000020e7: PUSH2 0x1ee1 000020ea: SWAP1 000020eb: DUP5 000020ec: SUB 000020ed: DUP10 000020ee: PUSH2 0x2190 000020f1: JUMP 000020f2: JUMPDEST 000020f3: PUSH1 0x01 000020f5: PUSH1 0xa0 000020f7: PUSH1 0x02 000020f9: EXP 000020fa: SUB 000020fb: DUP6 000020fc: DUP2 000020fd: AND 000020fe: PUSH1 0x00 00002100: SWAP1 00002101: DUP2 00002102: MSTORE 00002103: PUSH1 0x08 00002105: PUSH1 0x20 00002107: SWAP1 00002108: DUP2 00002109: MSTORE 0000210a: PUSH1 0x40 0000210c: DUP1 0000210d: DUP4 0000210e: KECCAK256 0000210f: CALLER 00002110: DUP5 00002111: MSTORE 00002112: SWAP1 00002113: SWAP2 00002114: MSTORE 00002115: DUP1 00002116: DUP3 00002117: KECCAK256 00002118: SWAP4 00002119: SWAP1 0000211a: SWAP4 0000211b: SSTORE 0000211c: PUSH1 0x02 0000211e: SLOAD 0000211f: SWAP1 00002120: SWAP2 00002121: AND 00002122: DUP2 00002123: MSTORE 00002124: KECCAK256 00002125: SLOAD 00002126: PUSH1 0x04 00002128: SLOAD 00002129: PUSH2 0x2147 0000212c: SWAP2 0000212d: SWAP1 0000212e: PUSH8 0x0de0b6b3a7640000 00002137: SWAP1 00002138: DUP9 00002139: SWAP1 0000213a: PUSH2 0x1ee7 0000213d: SWAP1 0000213e: PUSH2 0x1ee1 00002141: SWAP1 00002142: DUP10 00002143: PUSH2 0x2190 00002146: JUMP 00002147: JUMPDEST 00002148: PUSH1 0x01 0000214a: PUSH1 0xa0 0000214c: PUSH1 0x02 0000214e: EXP 0000214f: SUB 00002150: DUP1 00002151: DUP7 00002152: AND 00002153: PUSH1 0x00 00002155: SWAP1 00002156: DUP2 00002157: MSTORE 00002158: PUSH1 0x08 0000215a: PUSH1 0x20 0000215c: SWAP1 0000215d: DUP2 0000215e: MSTORE 0000215f: PUSH1 0x40 00002161: DUP1 00002162: DUP4 00002163: KECCAK256 00002164: PUSH1 0x02 00002166: SLOAD 00002167: SWAP1 00002168: SWAP5 00002169: AND 0000216a: DUP4 0000216b: MSTORE 0000216c: SWAP3 0000216d: SWAP1 0000216e: MSTORE 0000216f: KECCAK256 00002170: SSTORE 00002171: JUMPDEST 00002172: POP 00002173: POP 00002174: POP 00002175: POP 00002176: POP 00002177: POP 00002178: JUMP 00002179: JUMPDEST 0000217a: PUSH1 0x00 0000217c: DUP1 0000217d: DUP4 0000217e: DUP4 0000217f: GT 00002180: ISZERO 00002181: PUSH2 0x2189 00002184: JUMPI 00002185: PUSH1 0x00 00002187: DUP1 00002188: REVERT 00002189: JUMPDEST 0000218a: POP 0000218b: POP 0000218c: SWAP1 0000218d: SUB 0000218e: SWAP1 0000218f: JUMP 00002190: JUMPDEST 00002191: PUSH1 0x00 00002193: DUP1 00002194: DUP4 00002195: ISZERO 00002196: ISZERO 00002197: PUSH2 0x21a3 0000219a: JUMPI 0000219b: PUSH1 0x00 0000219d: SWAP2 0000219e: POP 0000219f: PUSH2 0x1cfb 000021a2: JUMP 000021a3: JUMPDEST 000021a4: POP 000021a5: DUP3 000021a6: DUP3 000021a7: MUL 000021a8: DUP3 000021a9: DUP5 000021aa: DUP3 000021ab: DUP2 000021ac: ISZERO 000021ad: ISZERO 000021ae: PUSH2 0x21b3 000021b1: JUMPI 000021b2: INVALID 000021b3: JUMPDEST 000021b4: DIV 000021b5: EQ 000021b6: PUSH2 0x1cf7 000021b9: JUMPI 000021ba: PUSH1 0x00 000021bc: DUP1 000021bd: REVERT 000021be: JUMPDEST 000021bf: PUSH1 0x40 000021c1: DUP1 000021c2: MLOAD 000021c3: DUP1 000021c4: DUP3 000021c5: ADD 000021c6: DUP3 000021c7: MSTORE 000021c8: SWAP1 000021c9: PUSH1 0x02 000021cb: SWAP1 000021cc: DUP3 000021cd: SWAP1 000021ce: DUP1 000021cf: CODESIZE 000021d0: DUP4 000021d1: CODECOPY 000021d2: POP 000021d3: SWAP2 000021d4: SWAP3 000021d5: SWAP2 000021d6: POP 000021d7: POP 000021d8: JUMP 000021d9: STOP 000021da: MCOPY 000021db: SELFDESTRUCT 000021dc: DUP9 000021dd: PUSH15 0xa0ce6ca488a3d6e336d6c0f75f46d1 000021ed: SWAP12 000021ee: TIMESTAMP 000021ef: UNKNOWN(0xC0) 000021f0: PUSH13 0xe5ee98e42c96d256c7a165627a 000021fe: PUSH27 0x72305820469bfb5d27266bdeacadff166d98beae919f0558f7f13a 0000221a: PUSH26
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | yes | yes |
viewtrace_id: 0x7aab761821b50a521bc7d8494af9eefb920f7f83118fb75b528717ac3a96d39f
call_targets:
0x0000000000000000000000000000000000000001, 0xd4cc0cda97ec567235b7019c655ec75cd361f712
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x7aab761821b50a521bc7d8494af9eefb920f7f83118fb75b528717ac3a96d39f",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000001",
"0xd4cc0cda97ec567235b7019c655ec75cd361f712"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x0a19b14a",
"selector": "0x0a19b14a",
"calldata_variants": [
"0x0a19b14a",
"0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0b927666",
"selector": "0x0b927666",
"calldata_variants": [
"0x0b927666",
"0x0b9276660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10e5bff8",
"selector": "0x10e5bff8",
"calldata_variants": [
"0x10e5bff8",
"0x10e5bff80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x187dc587",
"selector": "0x187dc587",
"calldata_variants": [
"0x187dc587",
"0x187dc5870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19774d43",
"selector": "0x19774d43",
"calldata_variants": [
"0x19774d43",
"0x19774d430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x272396cb",
"selector": "0x272396cb",
"calldata_variants": [
"0x272396cb",
"0x272396cb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x278b8c0e",
"selector": "0x278b8c0e",
"calldata_variants": [
"0x278b8c0e",
"0x278b8c0e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2255,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3265,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3601,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 10,
"guards_detected": [],
"untrusted_call_count": 10
}
|
| high | other | detector | ETH value transfer possible | 55 | yes | yes |
viewtrace_id: 0x7aab761821b50a521bc7d8494af9eefb920f7f83118fb75b528717ac3a96d39f
call_targets:
0x0000000000000000000000000000000000000001, 0xd4cc0cda97ec567235b7019c655ec75cd361f712
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x7aab761821b50a521bc7d8494af9eefb920f7f83118fb75b528717ac3a96d39f",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000001",
"0xd4cc0cda97ec567235b7019c655ec75cd361f712"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x0a19b14a",
"selector": "0x0a19b14a",
"calldata_variants": [
"0x0a19b14a",
"0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0b927666",
"selector": "0x0b927666",
"calldata_variants": [
"0x0b927666",
"0x0b9276660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10e5bff8",
"selector": "0x10e5bff8",
"calldata_variants": [
"0x10e5bff8",
"0x10e5bff80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x187dc587",
"selector": "0x187dc587",
"calldata_variants": [
"0x187dc587",
"0x187dc5870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19774d43",
"selector": "0x19774d43",
"calldata_variants": [
"0x19774d43",
"0x19774d430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x272396cb",
"selector": "0x272396cb",
"calldata_variants": [
"0x272396cb",
"0x272396cb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x278b8c0e",
"selector": "0x278b8c0e",
"calldata_variants": [
"0x278b8c0e",
"0x278b8c0e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2255,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3265,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3601,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 10,
"guards_detected": []
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x2ed72f3e8e34616fb5ff61bfa6cb174a995fa95d5cd0820e28e22f34c8b54381
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x2ed72f3e8e34616fb5ff61bfa6cb174a995fa95d5cd0820e28e22f34c8b54381",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x0a19b14a",
"selector": "0x0a19b14a",
"calldata_variants": [
"0x0a19b14a",
"0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0b927666",
"selector": "0x0b927666",
"calldata_variants": [
"0x0b927666",
"0x0b9276660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10e5bff8",
"selector": "0x10e5bff8",
"calldata_variants": [
"0x10e5bff8",
"0x10e5bff80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x187dc587",
"selector": "0x187dc587",
"calldata_variants": [
"0x187dc587",
"0x187dc5870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19774d43",
"selector": "0x19774d43",
"calldata_variants": [
"0x19774d43",
"0x19774d430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x272396cb",
"selector": "0x272396cb",
"calldata_variants": [
"0x272396cb",
"0x272396cb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x278b8c0e",
"selector": "0x278b8c0e",
"calldata_variants": [
"0x278b8c0e",
"0x278b8c0e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|
| high | reentrancy | slither | Reentrancy in SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518): | 85 | no | — |
viewevidence_json{
"impact": "High",
"detector": "reentrancy-eth",
"elements": [
{
"name": "migrateFunds",
"type": "function",
"source_mapping": {
"lines": [
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518
],
"start": 24297,
"length": 1008,
"ending_column": 37,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 36,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SEEDDEX",
"type": "contract",
"source_mapping": {
"lines": [
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552
],
"start": 2693,
"length": 24055,
"ending_column": 11,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 22,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "migrateFunds(address,address[])"
}
},
{
"name": "newExchange.depositForUser.value(etherAmount)(msg.sender)",
"type": "node",
"source_mapping": {
"lines": [
501,
502
],
"start": 24640,
"length": 57,
"ending_column": 3,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 35,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "migrateFunds",
"type": "function",
"source_mapping": {
"lines": [
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518
],
"start": 24297,
"length": 1008,
"ending_column": 37,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 36,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SEEDDEX",
"type": "contract",
"source_mapping": {
"lines": [
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552
],
"start": 2693,
"length": 24055,
"ending_column": 11,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 22,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "migrateFunds(address,address[])"
}
}
}
},
{
"name": "! IERC20(token).approve(newExchange,tokenAmount)",
"type": "node",
"source_mapping": {
"lines": [
511,
512
],
"start": 25042,
"length": 48,
"ending_column": 22,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 25,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "migrateFunds",
"type": "function",
"source_mapping": {
"lines": [
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518
],
"start": 24297,
"length": 1008,
"ending_column": 37,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 36,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SEEDDEX",
"type": "contract",
"source_mapping": {
"lines": [
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552
],
"start": 2693,
"length": 24055,
"ending_column": 11,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 22,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "migrateFunds(address,address[])"
}
}
}
},
{
"name": "newExchange.depositTokenForUser(token,tokenAmount,msg.sender)",
"type": "node",
"source_mapping": {
"lines": [
514,
515,
516
],
"start": 25162,
"length": 63,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 22,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "migrateFunds",
"type": "function",
"source_mapping": {
"lines": [
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518
],
"start": 24297,
"length": 1008,
"ending_column": 37,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 36,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SEEDDEX",
"type": "contract",
"source_mapping": {
"lines": [
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552
],
"start": 2693,
"length": 24055,
"ending_column": 11,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 22,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "migrateFunds(address,address[])"
}
}
}
},
{
"name": "newExchange.depositForUser.value(etherAmount)(msg.sender)",
"type": "node",
"source_mapping": {
"lines": [
501,
502
],
"start": 24640,
"length": 57,
"ending_column": 3,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 35,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"additional_fields": {
"underlying_type": "external_calls_sending_eth"
},
"type_specific_fields": {
"parent": {
"name": "migrateFunds",
"type": "function",
"source_mapping": {
"lines": [
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518
],
"start": 24297,
"length": 1008,
"ending_column": 37,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 36,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SEEDDEX",
"type": "contract",
"source_mapping": {
"lines": [
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552
],
"start": 2693,
"length": 24055,
"ending_column": 11,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 22,
"filename_absolute": "/tmp/slither-pm8iki53/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "migrateFunds(address,address[])"
}
}
}
}
],
"locations": [
{
"file": "contracts/Contract.sol",
"name": "migrateFunds",
"type": "function",
"lines": [
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518
]
},
{
"file": "contracts/Contract.sol",
"name": "newExchange.depositForUser.value(etherAmount)(msg.sender)",
"type": "node",
"lines": [
501,
502
]
},
{
"file": "contracts/Contract.sol",
"name": "! IERC20(token).approve(newExchange,tokenAmount)",
"type": "node",
"lines": [
511,
512
]
},
{
"file": "contracts/Contract.sol",
"name": "newExchange.depositTokenForUser(token,tokenAmount,msg.sender)",
"type": "node",
"lines": [
514,
515,
516
]
},
{
"file": "contracts/Contract.sol",
"name": "newExchange.depositForUser.value(etherAmount)(msg.sender)",
"type": "node",
"lines": [
501,
502
]
},
{
"file": "contracts/Contract.sol",
"name": "tokens[token][msg.sender] = 0",
"type": "node",
"lines": [
513,
514
]
}
],
"description": "Reentrancy in SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518):\n\tExternal calls:\n\t- newExchange.depositForUser.value(etherAmount)(msg.sender) (contracts/Contract.sol#501-502)\n\t- ! IERC20(token).approve(newExchange,tokenAmount) (contracts/Contract.sol#511-512)\n\t- newExchange.depositTokenForUser(token,tokenAmount,msg.sender) (contracts/Contract.sol#514-516)\n\tExternal calls sending eth:\n\t- newExchange.depositForUser.value(etherAmount)(msg.sender) (contracts/Contract.sol#501-502)\n\tState variables written after the call(s):\n\t- tokens[token][msg.sender] = 0 (contracts/Contract.sol#513-514)\n\tSEEDDEX.tokens (contracts/Contract.sol#115-116) can be used in cross function reentrancies:\n\t- SEEDDEX.availableVolume(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) (contracts/Contract.sol#423-433)\n\t- SEEDDEX.balanceOf(address,address) (contracts/Contract.sol#288-289)\n\t- SEEDDEX.deposit() (contracts/Contract.sol#210-215)\n\t- SEEDDEX.depositForUser(address) (contracts/Contract.sol#525-527)\n\t- SEEDDEX.depositToken(address,uint256) (contracts/Contract.sol#240-246)\n\t- SEEDDEX.depositTokenForUser(address,uint256,address) (contracts/Contract.sol#547-552)\n\t- SEEDDEX.migrateFunds(address,address[]) (contracts/Contract.sol#494-518)\n\t- SEEDDEX.testTrade(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint256,address) (contracts/Contract.sol#397-404)\n\t- SEEDDEX.tokens (contracts/Contract.sol#115-116)\n\t- SEEDDEX.tradeBalances(address,uint256,address,uint256,address,uint256) (contracts/Contract.sol#360-381)\n\t- SEEDDEX.withdraw(uint256) (contracts/Contract.sol#223-229)\n\t- SEEDDEX.withdrawToken(address,uint256) (contracts/Contract.sol#274-281)"
}
|