814f13cb-a21c-4d2d-b7d8-8a8f19428ae3
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 |
|---|---|---|---|---|
| 30909 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 94465 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 94466 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 94467 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 94468 | capability.graph | complete | 1 / 3 | 1 week ago |
| 94469 | detector.run | complete | 1 / 3 | 1 week ago |
| 94470 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113789 | tool.slither | failed | 2 / 2 | 1 week ago |
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-jgbwplz0)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-jgbwplz0)
'forge' returned non-zero exit code 1
[2m2026-04-05T07:56:24.685761Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.685862Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/IERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.685882Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/access/IAccessControlEnumerable.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.685892Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.685925Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.685962Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/IERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686002Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/IERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686023Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/math/Math.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686043Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686051Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686107Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686117Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/IERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686124Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686220Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/Address.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686295Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/math/Math.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686321Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/IERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686352Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/proxy/utils/Initializable.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686360Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686368Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686375Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686408Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686416Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686448Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/math/Math.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686456Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686468Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686476Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686483Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686547Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686570Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/math/Math.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686591Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/utils/cryptography/ECDSA.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:24.686599Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol": No such file or directory (os error 2)
stdout: Unable to resolve imports:
stdout: "openzeppelin-contracts/access/IAccessControlEnumerable.sol" in "/tmp/slither-jgbwplz0/src/interfaces/security/IAccessController.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol" in "/tmp/slither-jgbwplz0/src/interfaces/vault/IAutopool.sol"
stdout: "openzeppelin-contracts/utils/math/Math.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolFees.sol"
stdout: "openzeppelin-contracts/utils/cryptography/ECDSA.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolToken.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" in "/tmp/slither-jgbwplz0/src/vault/AutopoolETH.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" in "/tmp/slither-jgbwplz0/src/interfaces/staking/IAccToke.sol"
stdout: "openzeppelin-contracts/token/ERC20/IERC20.sol" in "/tmp/slither-jgbwplz0/src/interfaces/rewarders/IRewards.sol"
stdout: "openzeppelin-contracts/utils/math/Math.sol" in "/tmp/slither-jgbwplz0/src/interfaces/vault/IAutopool.sol"
stdout: "openzeppelin-contracts/proxy/utils/Initializable.sol" in "/tmp/slither-jgbwplz0/src/vault/AutopoolETH.sol"
stdout: "openzeppelin-contracts/utils/math/Math.sol" in "/tmp/slither-jgbwplz0/src/vault/AutopoolETH.sol"
stdout: "openzeppelin-contracts/token/ERC20/IERC20.sol" in "/tmp/slither-jgbwplz0/src/libs/LibAdapter.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" in "/tmp/slither-jgbwplz0/src/interfaces/ISystemRegistry.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolToken.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" in "/tmp/slither-jgbwplz0/src/interfaces/vault/IDestinationVault.sol"
stdout: "openzeppelin-contracts/token/ERC20/IERC20.sol" in "/tmp/slither-jgbwplz0/src/vault/AutopoolETH.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolDebt.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" in "/tmp/slither-jgbwplz0/src/interfaces/vault/IERC4626.sol"
stdout: "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/Autopool4626.sol"
stdout: "openzeppelin-contracts/utils/structs/EnumerableSet.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolDestinations.sol"
stdout: "openzeppelin-contracts/utils/structs/EnumerableSet.sol" in "/tmp/slither-jgbwplz0/src/vault/AutopoolETH.sol"
stdout: "openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" in "/tmp/slither-jgbwplz0/src/interfaces/strategy/IStrategy.sol"
stdout: "openzeppelin-contracts/token/ERC20/IERC20.sol" in "/tmp/slither-jgbwplz0/src/interfaces/vault/IAutopilotRouterBase.sol"
stdout: "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" in "/tmp/slither-jgbwplz0/src/libs/LibAdapter.sol"
stdout: "openzeppelin-contracts/token/ERC20/IERC20.sol" in "/tmp/slither-jgbwplz0/src/interfaces/utils/IWETH9.sol"
stdout: "openzeppelin-contracts/utils/Address.sol" in "/tmp/slither-jgbwplz0/src/utils/Errors.sol"
stdout: "openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolDebt.sol"
stdout: "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/Autopool4626.sol"
stdout: "openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" in "/tmp/slither-jgbwplz0/src/vault/AutopoolETH.sol"
stdout: "openzeppelin-contracts/utils/math/Math.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolDebt.sol"
stdout: "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolDebt.sol"
stdout: "openzeppelin-contracts/utils/structs/EnumerableSet.sol" in "/tmp/slither-jgbwplz0/src/vault/libs/AutopoolDebt.sol"
stdout: with remappings:
stdout: forge-std/=/tmp/slither-jgbwplz0/lib/forge-std/src/
stdout: ds-test/=/tmp/slither-jgbwplz0/lib/forge-std/lib/ds-test/src/
stdout: openzeppelin-contracts/=/tmp/slither-jgbwplz0/lib/openzeppelin-contracts/
stdout: erc4626-tests/=/tmp/slither-jgbwplz0/lib/erc4626-tests/
stdout: prb-math/=/tmp/slither-jgbwplz0/lib/prb-math/
stdout: crytic/properties/=/tmp/slither-jgbwplz0/lib/properties/
stdout: ERC4626/=/tmp/slither-jgbwplz0/lib/properties/lib/ERC4626/contracts/
stdout: properties/=/tmp/slither-jgbwplz0/lib/properties/contracts/
stdout: solmate/=/tmp/slither-jgbwplz0/lib/properties/lib/solmate/src/
stdout: usingtellor/=/tmp/slither-jgbwplz0/lib/usingtellor/contracts/
stdout: Compiling 51 files with Solc 0.8.17
stdout: Solc 0.8.17 finished in 26.39ms
Error: Compiler run failed:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/ISystemRegistry.sol:21:1:
stderr: |
stderr: 21 | import { IERC20Metadata } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/rewarders/IRewards.sol:5:1:
stderr: |
stderr: 5 | import { IERC20 } from "openzeppelin-contracts/token/ERC20/IERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/access/IAccessControlEnumerable.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/access/IAccessControlEnumerable.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/security/IAccessController.sol:5:1:
stderr: |
stderr: 5 | import { IAccessControlEnumerable } from "openzeppelin-contracts/access/IAccessControlEnumerable.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/staking/IAccToke.sol:5:1:
stderr: |
stderr: 5 | import { IERC20Metadata } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/strategy/IStrategy.sol:5:1:
stderr: |
stderr: 5 | import { IERC3156FlashBorrower } from "openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/utils/IWETH9.sol:4:1:
stderr: |
stderr: 4 | import { IERC20 } from "openzeppelin-contracts/token/ERC20/IERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/vault/IAutopilotRouterBase.sol:7:1:
stderr: |
stderr: 7 | import { IERC20 } from "openzeppelin-contracts/token/ERC20/IERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/math/Math.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/math/Math.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/vault/IAutopool.sol:7:1:
stderr: |
stderr: 7 | import { Math } from "openzeppelin-contracts/utils/math/Math.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/vault/IAutopool.sol:10:1:
stderr: |
stderr: 10 | import { IERC20Permit } from "openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/vault/IDestinationVault.sol:5:1:
stderr: |
stderr: 5 | import { IERC20Metadata as IERC20 } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/interfaces/vault/IERC4626.sol:4:1:
stderr: |
stderr: 4 | import { IERC20Metadata } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/libs/LibAdapter.sol:5:1:
stderr: |
stderr: 5 | import { IERC20 } from "openzeppelin-contracts/token/ERC20/IERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/libs/LibAdapter.sol:6:1:
stderr: |
stderr: 6 | import { SafeERC20 } from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/Address.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/Address.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/utils/Errors.sol:5:1:
stderr: |
stderr: 5 | import { Address } from "openzeppelin-contracts/utils/Address.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/math/Math.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/math/Math.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/AutopoolETH.sol:30:1:
stderr: |
stderr: 30 | import { Math } from "openzeppelin-contracts/utils/math/Math.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/IERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/AutopoolETH.sol:34:1:
stderr: |
stderr: 34 | import { IERC20 } from "openzeppelin-contracts/token/ERC20/IERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/proxy/utils/Initializable.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/proxy/utils/Initializable.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/AutopoolETH.sol:39:1:
stderr: |
stderr: 39 | import { Initializable } from "openzeppelin-contracts/proxy/utils/Initializable.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/AutopoolETH.sol:40:1:
stderr: |
stderr: 40 | import { EnumerableSet } from "openzeppelin-contracts/utils/structs/EnumerableSet.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/AutopoolETH.sol:41:1:
stderr: |
stderr: 41 | import { IERC20Metadata } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/AutopoolETH.sol:42:1:
stderr: |
stderr: 42 | import { IERC3156FlashBorrower } from "openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/Autopool4626.sol:11:1:
stderr: |
stderr: 11 | import { IERC20Metadata } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/Autopool4626.sol:12:1:
stderr: |
stderr: 12 | import { SafeERC20 } from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/math/Math.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/math/Math.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolDebt.sol:9:1:
stderr: |
stderr: 9 | import { Math } from "openzeppelin-contracts/utils/math/Math.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolDebt.sol:10:1:
stderr: |
stderr: 10 | import { EnumerableSet } from "openzeppelin-contracts/utils/structs/EnumerableSet.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolDebt.sol:12:1:
stderr: |
stderr: 12 | import { SafeERC20 } from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolDebt.sol:13:1:
stderr: |
stderr: 13 | import { IERC20Metadata as IERC20 } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolDebt.sol:14:1:
stderr: |
stderr: 14 | import { IERC3156FlashBorrower } from "openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/structs/EnumerableSet.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolDestinations.sol:10:1:
stderr: |
stderr: 10 | import { EnumerableSet } from "openzeppelin-contracts/utils/structs/EnumerableSet.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/math/Math.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/math/Math.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolFees.sol:7:1:
stderr: |
stderr: 7 | import { Math } from "openzeppelin-contracts/utils/math/Math.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/utils/cryptography/ECDSA.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/utils/cryptography/ECDSA.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolToken.sol:6:1:
stderr: |
stderr: 6 | import { ECDSA } from "openzeppelin-contracts/utils/cryptography/ECDSA.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: ParserError: Source "lib/openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol" not found: File not found. Searched the following locations: "/tmp/slither-jgbwplz0".
stderr: --> src/vault/libs/AutopoolToken.sol:7:1:
stderr: |
stderr: 7 | import { IERC20Permit } from "openzeppelin-contracts/token/ERC20/extensions/draft-IERC20Permit.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-jgbwplz0/out/build-info is not a directory.
[codex:1169658] OpenAI Codex v0.77.0 (research preview)
[codex:1169658] --------
[codex:1169658] workdir: /tmp/codex-multi-ct6ol1zt
[codex:1169658] model: gpt-5.2-codex
[codex:1169658] provider: openai
[codex:1169658] approval: never
[codex:1169658] sandbox: read-only
[codex:1169658] reasoning effort: xhigh
[codex:1169658] reasoning summaries: auto
[codex:1169658] session id: 019b7609-1a39-7c43-8230-36e74906be3c
[codex:1169658] --------
[codex:1169658] user
[codex:1169658] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1169658]
[codex:1169658] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1169658]
[codex:1169658] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1169658] - Gas inefficiency, code quality, naming, or best practices
[codex:1169658] - Theoretical vulnerabilities without a clear extraction path
[codex:1169658] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1169658] - Front-running unless it enables theft beyond MEV
[codex:1169658] - DoS, griefing, or issues that don't result in attacker profit
[codex:1169658] - Missing events, view function issues, or informational findings
[codex:1169658]
[codex:1169658] HIGH-VALUE PATTERNS TO HUNT:
[codex:1169658] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1169658] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1169658] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1169658] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1169658] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1169658] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1169658] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1169658] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1169658] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1169658]
[codex:1169658] For each finding, you MUST provide:
[codex:1169658] 1. Exact file and line numbers of vulnerable code
[codex:1169658] 2. Step-by-step exploit transaction sequence
[codex:1169658] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1169658]
[codex:1169658] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1169658]
[codex:1169658] Output MUST be valid JSON matching the provided schema.
[codex:1169658] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1169658] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1169658] mcp startup: no servers
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Reading instructions from AUDIT_BUNDLE.txt**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc ls in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] AUDIT_BUNDLE.txt
[codex:1169658] codex-output-schema.json
[codex:1169658] contracts
[codex:1169658] exec
[codex:1169658] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-ct6ol1zt succeeded in 7ms:
[codex:1169658] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1169658]
[codex:1169658] ================================================================================
[codex:1169658] FILE: contracts/src/interfaces/ISystemComponent.sol
[codex:1169658] ================================================================================
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] /// @notice Stores a reference to the registry for this system
[codex:1169658] interface ISystemComponent {
[codex:1169658] /// @notice The system instance this contract is tied to
[codex:1169658] function getSystemRegistry() external view returns (address registry);
[codex:1169658] }
[codex:1169658]
[codex:1169658] ================================================================================
[codex:1169658] FILE: contracts/src/interfaces/ISystemRegistry.sol
[codex:1169658] ================================================================================
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Searching for profit-related vulnerabilities**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc 'rg --files' in /tmp/codex-multi-ct6ol1zt succeeded in 10ms:
[codex:1169658] codex-output-schema.json
[codex:1169658] AUDIT_BUNDLE.txt
[codex:1169658] contracts/src/security/SecurityBase.sol
[codex:1169658] contracts/src/security/Pausable.sol
[codex:1169658] contracts/src/vault/VaultTypes.sol
[codex:1169658] contracts/src/vault/AutopoolETH.sol
[codex:1169658] contracts/src/vault/libs/AutopoolToken.sol
[codex:1169658] contracts/src/vault/libs/AutopoolFees.sol
[codex:1169658] contracts/src/vault/libs/AutopoolDestinations.sol
[codex:1169658] contracts/src/vault/libs/Autopool4626.sol
[codex:1169658] contracts/src/vault/libs/AutopoolDebt.sol
[codex:1169658] contracts/src/libs/Roles.sol
[codex:1169658] contracts/src/libs/LibAdapter.sol
[codex:1169658] contracts/src/interfaces/swapper/ISwapRouter.sol
[codex:1169658] contracts/src/interfaces/swapper/ISyncSwapper.sol
[codex:1169658] contracts/src/interfaces/destinations/IDestinationAdapter.sol
[codex:1169658] contracts/src/interfaces/destinations/IDestinationRegistry.sol
[codex:1169658] contracts/src/utils/Errors.sol
[codex:1169658] contracts/src/utils/NonReentrant.sol
[codex:1169658] contracts/src/interfaces/liquidation/IAsyncSwapper.sol
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Inspecting core contracts**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,240p' contracts/src/vault/AutopoolETH.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 6ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658]
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] // ██
[codex:1169658] // ██
[codex:1169658] // ██
[codex:1169658] // ██
[codex:1169658] // ██
[codex:1169658] // █████████████████████████████████████████
[codex:1169658] // ██
[codex:1169658] // ██
[codex:1169658] // ██
[codex:1169658] // ██
[codex:1169658] // ██
[codex:1169658]
[codex:1169658] import { Roles } from "src/libs/Roles.sol";
[codex:1169658] import { Errors } from "src/utils/Errors.sol";
[codex:1169658] import { AutopoolDebt } from "src/vault/libs/AutopoolDebt.sol";
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '240,520p' contracts/src/vault/AutopoolETH.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] bytes memory
[codex:1169658] ) external virtual initializer {
[codex:1169658] Errors.verifyNotEmpty(symbolSuffix, "symbolSuffix");
[codex:1169658] Errors.verifyNotEmpty(descPrefix, "descPrefix");
[codex:1169658] Errors.verifyNotZero(strategy, "autoPoolStrategyAddress");
[codex:1169658]
[codex:1169658] factory = msg.sender;
[codex:1169658]
[codex:1169658] _symbol = symbolSuffix;
[codex:1169658] _name = descPrefix;
[codex:1169658]
[codex:1169658] AutopoolFees.initializeFeeSettings(_feeSettings);
[codex:1169658]
[codex:1169658] autoPoolStrategy = IAutopoolStrategy(strategy);
[codex:1169658]
[codex:1169658] // slither-disable-start reentrancy-no-eth
[codex:1169658]
[codex:1169658] // Send 100_000 shares to dead address to prevent nav / share inflation attack that can happen
[codex:1169658] // with very small shares and totalAssets amount.
[codex:1169658] uint256 sharesMinted = deposit(WETH_INIT_DEPOSIT, DEAD_ADDRESS);
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '520,1040p' contracts/src/vault/AutopoolETH.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] /// withdrawing.
[codex:1169658] function asset() public view virtual override returns (address) {
[codex:1169658] return address(_baseAsset);
[codex:1169658] }
[codex:1169658]
[codex:1169658] /// @notice Returns the total amount of the underlying asset that is “managed” by Vault.
[codex:1169658] /// @dev Utilizes the "Global" purpose internally
[codex:1169658] function totalAssets() public view override returns (uint256) {
[codex:1169658] return Autopool4626.totalAssets(_assetBreakdown, TotalAssetPurpose.Global);
[codex:1169658] }
[codex:1169658]
[codex:1169658] /// @notice Returns the total amount of the underlying asset that is “managed” by the Vault with respect to its
[codex:1169658] /// usage
[codex:1169658] /// @dev Value changes based on purpose. Global is an avg. Deposit is valued higher. Withdraw is valued lower.
[codex:1169658] /// @param purpose The calculation the total assets will be used in
[codex:1169658] function totalAssets(TotalAssetPurpose purpose) public view returns (uint256) {
[codex:1169658] return Autopool4626.totalAssets(_assetBreakdown, purpose);
[codex:1169658] }
[codex:1169658]
[codex:1169658] function getAssetBreakdown() public view override returns (IAutopool.AssetBreakdown memory) {
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Examining security patterns and external calls**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,200p' contracts/src/utils/NonReentrant.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 7ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658]
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] /// @title Copy of OZ's ReentrancyGuard with a read only variant added
[codex:1169658] abstract contract NonReentrant {
[codex:1169658] uint256 private constant NOT_ENTERED = 1;
[codex:1169658] uint256 private constant ENTERED = 2;
[codex:1169658]
[codex:1169658] uint256 private _status;
[codex:1169658]
[codex:1169658] error ReentrancyGuardReentrantCall();
[codex:1169658]
[codex:1169658] constructor() {
[codex:1169658] _status = NOT_ENTERED;
[codex:1169658] }
[codex:1169658]
[codex:1169658] modifier nonReentrantReadOnly() {
[codex:1169658] if (_status == ENTERED) {
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Analyzing profit path and potential vulnerabilities**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,260p' contracts/src/vault/libs/AutopoolDebt.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 7ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658]
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { Errors } from "src/utils/Errors.sol";
[codex:1169658] import { LibAdapter } from "src/libs/LibAdapter.sol";
[codex:1169658] import { IDestinationVault } from "src/interfaces/vault/IDestinationVault.sol";
[codex:1169658] import { Math } from "openzeppelin-contracts/utils/math/Math.sol";
[codex:1169658] import { EnumerableSet } from "openzeppelin-contracts/utils/structs/EnumerableSet.sol";
[codex:1169658] import { IStrategy } from "src/interfaces/strategy/IStrategy.sol";
[codex:1169658] import { SafeERC20 } from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1169658] import { IERC20Metadata as IERC20 } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1169658] import { IERC3156FlashBorrower } from "openzeppelin-contracts/interfaces/IERC3156FlashBorrower.sol";
[codex:1169658] import { IAutopoolStrategy } from "src/interfaces/strategy/IAutopoolStrategy.sol";
[codex:1169658] import { StructuredLinkedList } from "src/strategy/StructuredLinkedList.sol";
[codex:1169658] import { WithdrawalQueue } from "src/strategy/WithdrawalQueue.sol";
[codex:1169658] import { IAutopool } from "src/interfaces/vault/IAutopool.sol";
[codex:1169658] import { IMainRewarder } from "src/interfaces/rewarders/IMainRewarder.sol";
[codex:1169658] import { AutopoolToken } from "src/vault/libs/AutopoolToken.sol";
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '260,520p' contracts/src/vault/libs/AutopoolDebt.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] uint256 beforeBaseAssetBal = params._baseAsset.balanceOf(address(this));
[codex:1169658]
[codex:1169658] // Withdraw underlying from the destination vault
[codex:1169658] // Shares are sent directly to the flashRebalance receiver
[codex:1169658] // slither-disable-next-line unused-return
[codex:1169658] dvOut.withdrawUnderlying(params.amountOut, params.receiver);
[codex:1169658]
[codex:1169658] // Update the debt info snapshot
[codex:1169658] assetChange =
[codex:1169658] _recalculateDestInfo(destOutInfo, dvOut, originalShareBal, originalShareBal - params.amountOut);
[codex:1169658]
[codex:1169658] // Capture any rewards we may have claimed as part of withdrawing
[codex:1169658] assetChange.totalIdleIncrease = params._baseAsset.balanceOf(address(this)) - beforeBaseAssetBal;
[codex:1169658] } else {
[codex:1169658] // If we are shutdown then the only operations we should be performing are those that get
[codex:1169658] // the base asset back to the vault. We shouldn't be sending out more
[codex:1169658]
[codex:1169658] if (params._shutdown) {
[codex:1169658] revert VaultShutdown();
[codex:1169658] }
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '520,1040p' contracts/src/vault/libs/AutopoolDebt.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // if our minDebtValue numbers are up to date and perfectly accurate slippage could ensure we
[codex:1169658] // are always receiving less than we expect/calculate and we never hit the requested assets
[codex:1169658] // even though the owner would have shares to cover it. Under normal/expected conditions, our
[codex:1169658] // minDebtValue is lower than actual and we expect overall value to be going up, so we burn a tad
[codex:1169658] // more than we should and receive a tad more than we expect. This should cover us. However,
[codex:1169658] // in other conditions we have to be sure we aren't endlessly trying to approach 0 so we are tracking
[codex:1169658] // the slippage we received on the last pull, repricing, and applying an increasing multiplier until we either
[codex:1169658] // pull enough to cover or pull them all and/or move to the next destination.
[codex:1169658]
[codex:1169658] uint256 dvSharesToBurn;
[codex:1169658] while (info.assetsToPull > 0) {
[codex:1169658] IDestinationVault destVault = IDestinationVault(withdrawalQueue.peekHead());
[codex:1169658]
[codex:1169658] // We've run out of destinations
[codex:1169658] if (address(destVault) == address(0)) {
[codex:1169658] break;
[codex:1169658] }
[codex:1169658]
[codex:1169658] uint256 dvShares = destVault.balanceOf(address(this));
[codex:1169658] {
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1040,1560p' contracts/src/vault/libs/AutopoolDebt.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 7ms:
[codex:1169658] errorSignature := mload(add(returnData, 0x20))
[codex:1169658] }
[codex:1169658]
[codex:1169658] // If the error matches the expected signature, extract the amount from the revert reason and return.
[codex:1169658] if (errorSignature == sharesAmountSig) {
[codex:1169658] // Extract subsequent bytes for uint256.
[codex:1169658] assembly {
[codex:1169658] assetsAmount := mload(add(returnData, 0x24))
[codex:1169658] sharesAmount := mload(add(returnData, 0x44))
[codex:1169658] }
[codex:1169658] } else {
[codex:1169658] // If the error is not the expected one, forward the original revert reason.
[codex:1169658] assembly {
[codex:1169658] revert(add(32, returnData), mload(returnData))
[codex:1169658] }
[codex:1169658] }
[codex:1169658] // solhint-enable no-inline-assembly
[codex:1169658] }
[codex:1169658] // This branch is taken during the recursive call.
[codex:1169658] else {
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Evaluating AutopoolDebt security**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,260p' contracts/src/vault/libs/Autopool4626.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658]
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { Errors } from "src/utils/Errors.sol";
[codex:1169658] import { AutopoolFees } from "src/vault/libs/AutopoolFees.sol";
[codex:1169658] import { AutopoolToken } from "src/vault/libs/AutopoolToken.sol";
[codex:1169658] import { AutopoolDebt } from "src/vault/libs/AutopoolDebt.sol";
[codex:1169658] import { IAutopool } from "src/interfaces/vault/IAutopool.sol";
[codex:1169658] import { IERC20Metadata } from "openzeppelin-contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1169658] import { SafeERC20 } from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1169658] import { StructuredLinkedList } from "src/strategy/StructuredLinkedList.sol";
[codex:1169658] import { WithdrawalQueue } from "src/strategy/WithdrawalQueue.sol";
[codex:1169658]
[codex:1169658] library Autopool4626 {
[codex:1169658] using SafeERC20 for IERC20Metadata;
[codex:1169658] using WithdrawalQueue for StructuredLinkedList.List;
[codex:1169658] using AutopoolToken for AutopoolToken.TokenData;
[codex:1169658]
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Reviewing recover function access controls**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,260p' contracts/src/vault/libs/AutopoolDestinations.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658]
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { Errors } from "src/utils/Errors.sol";
[codex:1169658] import { WithdrawalQueue } from "src/strategy/WithdrawalQueue.sol";
[codex:1169658] import { StructuredLinkedList } from "src/strategy/StructuredLinkedList.sol";
[codex:1169658] import { IDestinationVault } from "src/interfaces/vault/IDestinationVault.sol";
[codex:1169658] import { EnumerableSet } from "openzeppelin-contracts/utils/structs/EnumerableSet.sol";
[codex:1169658] import { ISystemRegistry } from "src/interfaces/ISystemRegistry.sol";
[codex:1169658] import { IDestinationVaultRegistry } from "src/interfaces/vault/IDestinationVaultRegistry.sol";
[codex:1169658]
[codex:1169658] library AutopoolDestinations {
[codex:1169658] using EnumerableSet for EnumerableSet.AddressSet;
[codex:1169658] using WithdrawalQueue for StructuredLinkedList.List;
[codex:1169658]
[codex:1169658] event DestinationVaultAdded(address destination);
[codex:1169658] event DestinationVaultRemoved(address destination);
[codex:1169658] event WithdrawalQueueSet(address[] destinations);
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Reviewing AutopoolFees for vulnerabilities**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,260p' contracts/src/vault/libs/AutopoolFees.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658]
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { IAutopool } from "src/interfaces/vault/IAutopool.sol";
[codex:1169658] import { Math } from "openzeppelin-contracts/utils/math/Math.sol";
[codex:1169658] import { AutopoolToken } from "src/vault/libs/AutopoolToken.sol";
[codex:1169658]
[codex:1169658] library AutopoolFees {
[codex:1169658] using Math for uint256;
[codex:1169658] using AutopoolToken for AutopoolToken.TokenData;
[codex:1169658]
[codex:1169658] /// @notice Profit denomination
[codex:1169658] uint256 public constant MAX_BPS_PROFIT = 1_000_000_000;
[codex:1169658]
[codex:1169658] /// @notice 100% == 10000
[codex:1169658] uint256 public constant FEE_DIVISOR = 10_000;
[codex:1169658]
[codex:1169658] /// @notice Max periodic fee, 10%. 100% = 10_000.
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '260,520p' contracts/src/vault/libs/AutopoolFees.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 6ms:
[codex:1169658] }
[codex:1169658]
[codex:1169658] function _calculateSharesToMintFeeCollection(
[codex:1169658] uint256 feeBps,
[codex:1169658] uint256 amountForFee,
[codex:1169658] uint256 totalAssets,
[codex:1169658] uint256 totalSupply
[codex:1169658] ) private pure returns (uint256 toMint) {
[codex:1169658] // Gas savings, this is used twice.
[codex:1169658] uint256 feeTotalAssets = feeBps * amountForFee / FEE_DIVISOR;
[codex:1169658]
[codex:1169658] // Separate from other mints as normal share mint is round down
[codex:1169658] // Mints shares taking into account the dilution so we end up with the expected amount
[codex:1169658] // `feeBps` is padded by FEE_DIVISOR when taking periodic fee
[codex:1169658] // `amountForFee` is padded by FEE_DIVISOR when taking streaming fee
[codex:1169658] toMint =
[codex:1169658] Math.mulDiv(feeTotalAssets, totalSupply, (totalAssets * FEE_DIVISOR) - (feeTotalAssets), Math.Rounding.Up);
[codex:1169658] }
[codex:1169658]
[codex:1169658] /// @dev If set to 0, existing shares will unlock immediately and increase nav/share. This is intentional
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Examining related contract files**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,240p' contracts/src/security/SecurityBase.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { IAccessController } from "src/interfaces/security/IAccessController.sol";
[codex:1169658] import { Errors } from "src/utils/Errors.sol";
[codex:1169658]
[codex:1169658] contract SecurityBase {
[codex:1169658] IAccessController public immutable accessController;
[codex:1169658]
[codex:1169658] error UndefinedAddress();
[codex:1169658]
[codex:1169658] constructor(address _accessController) {
[codex:1169658] if (_accessController == address(0)) revert UndefinedAddress();
[codex:1169658]
[codex:1169658] accessController = IAccessController(_accessController);
[codex:1169658] }
[codex:1169658]
[codex:1169658] modifier onlyOwner() {
[codex:1169658] accessController.verifyOwner(msg.sender);
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Opening Roles definition**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,240p' contracts/src/libs/Roles.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658]
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] library Roles {
[codex:1169658] // Naming Conventions:
[codex:1169658] // - Use MANAGER, CREATOR, UPDATER, ..., for roles primarily managing on-chain activities.
[codex:1169658] // - Use EXECUTOR for roles that trigger off-chain initiated actions.
[codex:1169658] // - Group roles by functional area for clarity.
[codex:1169658]
[codex:1169658] // Destination Vault Management
[codex:1169658] bytes32 public constant DESTINATION_VAULT_FACTORY_MANAGER = keccak256("CREATE_DESTINATION_VAULT_ROLE");
[codex:1169658] bytes32 public constant DESTINATION_VAULT_REGISTRY_MANAGER = keccak256("DESTINATION_VAULT_REGISTRY_MANAGER");
[codex:1169658] bytes32 public constant DESTINATION_VAULT_MANAGER = keccak256("DESTINATION_VAULT_MANAGER");
[codex:1169658]
[codex:1169658] // Auto Pool Factory and Registry Management
[codex:1169658] bytes32 public constant AUTO_POOL_REGISTRY_UPDATER = keccak256("REGISTRY_UPDATER");
[codex:1169658] bytes32 public constant AUTO_POOL_FACTORY_MANAGER = keccak256("AUTO_POOL_FACTORY_MANAGER");
[codex:1169658] bytes32 public constant AUTO_POOL_FACTORY_VAULT_CREATOR = keccak256("CREATE_POOL_ROLE");
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Idle moment**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,200p' contracts/src/security/Pausable.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 6ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { Roles } from "src/libs/Roles.sol";
[codex:1169658] import { Errors } from "src/utils/Errors.sol";
[codex:1169658] import { ISystemRegistry } from "src/interfaces/ISystemRegistry.sol";
[codex:1169658] import { IAccessController } from "src/interfaces/security/IAccessController.sol";
[codex:1169658] import { ISystemSecurity } from "src/interfaces/security/ISystemSecurity.sol";
[codex:1169658]
[codex:1169658] /**
[codex:1169658] * @notice Contract which allows children to implement an emergency stop mechanism that can be trigger
[codex:1169658] * by an account that has been granted the EMERGENCY_PAUSER role.
[codex:1169658] * Makes available the `whenNotPaused` and `whenPaused` modifiers.
[codex:1169658] * Respects a system level pause from the System Security.
[codex:1169658] */
[codex:1169658] abstract contract Pausable {
[codex:1169658] IAccessController private immutable _accessController;
[codex:1169658] ISystemSecurity private immutable _systemSecurity;
[codex:1169658]
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Investigating access control in Autopool and related contracts**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,260p' contracts/src/strategy/WithdrawalQueue.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658] pragma solidity 0.8.17; // their version was using 8.12?
[codex:1169658]
[codex:1169658] import { StructuredLinkedList } from "src/strategy/StructuredLinkedList.sol";
[codex:1169658]
[codex:1169658] // https://github.com/Layr-Labs/eigenlayer-contracts/blob/master/src/contracts/libraries/StructuredLinkedList.sol
[codex:1169658] library WithdrawalQueue {
[codex:1169658] using StructuredLinkedList for StructuredLinkedList.List;
[codex:1169658]
[codex:1169658] error CannotInsertZeroAddress();
[codex:1169658] error UnexpectedNodeRemoved();
[codex:1169658] error AddToHeadFailed();
[codex:1169658] error AddToTailFailed();
[codex:1169658] error NodeDoesNotExist();
[codex:1169658]
[codex:1169658] /// @notice Returns true if the address is in the queue.
[codex:1169658] function addressExists(StructuredLinkedList.List storage queue, address addr) public view returns (bool) {
[codex:1169658] return StructuredLinkedList.nodeExists(queue, _addressToUint(addr));
[codex:1169658] }
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Questioning data structure choice**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,200p' contracts/src/strategy/StructuredLinkedList.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: MIT
[codex:1169658]
[codex:1169658] pragma solidity =0.8.17;
[codex:1169658]
[codex:1169658] /**
[codex:1169658] * @title StructuredLinkedList
[codex:1169658] * @author Vittorio Minacori (https://github.com/vittominacori)
[codex:1169658] * @dev An utility library for using sorted linked list data structures in your Solidity project.
[codex:1169658] * @notice Adapted from
[codex:1169658] * https://github.com/Layr-Labs/eigenlayer-contracts/blob/master/src/contracts/libraries/StructuredLinkedList.sol
[codex:1169658] */
[codex:1169658] library StructuredLinkedList {
[codex:1169658] uint256 private constant _NULL = 0;
[codex:1169658] uint256 private constant _HEAD = 0;
[codex:1169658]
[codex:1169658] bool private constant _PREV = false;
[codex:1169658] bool private constant _NEXT = true;
[codex:1169658]
[codex:1169658] struct List {
[codex:1169658] uint256 size;
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Analyzing initialize function vulnerabilities**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "rg -n \"initialize\\(\" contracts/src" in /tmp/codex-multi-ct6ol1zt succeeded in 9ms:
[codex:1169658] contracts/src/vault/AutopoolETH.sol:236: function initialize(
[codex:1169658] contracts/src/interfaces/vault/IDestinationVault.sol:108: function initialize(
[codex:1169658] contracts/src/interfaces/stats/IStatsCalculator.sol:21: function initialize(bytes32[] calldata dependentAprIds, bytes calldata initData) external;
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Analyzing AutopoolETH initialization risks**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,240p' contracts/src/libs/LibAdapter.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { IERC20 } from "openzeppelin-contracts/token/ERC20/IERC20.sol";
[codex:1169658] import { SafeERC20 } from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1169658]
[codex:1169658] library LibAdapter {
[codex:1169658] using SafeERC20 for IERC20;
[codex:1169658]
[codex:1169658] address public constant CURVE_REGISTRY_ETH_ADDRESS_POINTER = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
[codex:1169658]
[codex:1169658] error MinLpAmountNotReached();
[codex:1169658] error LpTokenAmountMismatch();
[codex:1169658] error NoNonZeroAmountProvided();
[codex:1169658] error InvalidBalanceChange();
[codex:1169658]
[codex:1169658] // Utils
[codex:1169658] function _approve(IERC20 token, address spender, uint256 amount) internal {
[codex:1169658] uint256 currentAllowance = token.allowance(address(this), spender);
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Analyzing AutopoolETH security and reentrancy risks**
[codex:1169658]
[codex:1169658] I'm carefully examining AutopoolETH functions for missing access controls, initialization vulnerabilities, oracle manipulation possibilities, and reentrancy protections, especially around deposits, withdrawals, and share calculations. There is detailed consideration on how initialization control, external calls to vaults, and price oracle reliance might be exploited, but overall nonReentrant guards and conservative oracle prices seem to reduce exploit risks. I'm also checking token permit mechanics and ERC777 interactions to ensure no loopholes.
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,200p' contracts/src/vault/VaultTypes.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 6ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] library VaultTypes {
[codex:1169658] bytes32 public constant LST = keccak256("LST");
[codex:1169658] }
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Checking error utilities**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,240p' contracts/src/utils/Errors.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 6ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { Address } from "openzeppelin-contracts/utils/Address.sol";
[codex:1169658] import { ISystemComponent } from "src/interfaces/ISystemComponent.sol";
[codex:1169658]
[codex:1169658] // solhint-disable max-line-length
[codex:1169658] library Errors {
[codex:1169658] using Address for address;
[codex:1169658] ///////////////////////////////////////////////////////////////////
[codex:1169658] // Set errors
[codex:1169658] ///////////////////////////////////////////////////////////////////
[codex:1169658]
[codex:1169658] error AccessDenied();
[codex:1169658] error ZeroAddress(string paramName);
[codex:1169658] error ZeroAmount();
[codex:1169658] error InsufficientBalance(address token);
[codex:1169658] error AssetNotAllowed(address token);
[codex:1169658] error NotImplemented();
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Checking access control interface**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "sed -n '1,200p' contracts/src/interfaces/security/IAccessController.sol" in /tmp/codex-multi-ct6ol1zt succeeded in 5ms:
[codex:1169658] // SPDX-License-Identifier: UNLICENSED
[codex:1169658] // Copyright (c) 2023 Tokemak Foundation. All rights reserved.
[codex:1169658] pragma solidity 0.8.17;
[codex:1169658]
[codex:1169658] import { IAccessControlEnumerable } from "openzeppelin-contracts/access/IAccessControlEnumerable.sol";
[codex:1169658]
[codex:1169658] interface IAccessController is IAccessControlEnumerable {
[codex:1169658] error AccessDenied();
[codex:1169658]
[codex:1169658] /**
[codex:1169658] * @notice Setup a role for an account
[codex:1169658] * @param role The role to setup
[codex:1169658] * @param account The account to setup the role for
[codex:1169658] */
[codex:1169658] function setupRole(bytes32 role, address account) external;
[codex:1169658]
[codex:1169658] /**
[codex:1169658] * @notice Verify if an account is an owner. Reverts if not
[codex:1169658] * @param account The account to verify
[codex:1169658] */
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Analyzing potential vulnerabilities in withdrawal and reentrancy**
[codex:1169658]
[codex:1169658] I'm carefully checking for any exploitable paths in withdrawal queue removal and reentrancy, especially around low-level calls in preview functions, flash loans, and token recovery. I'm verifying role restrictions and deliberate revert patterns to confirm no state changes escape rollback, and considering if any external functions lack proper access control or safety. Since the codebase is minimal and deliberate safeguards exist, my current conclusion is no concrete exploit paths, but I'm ensuring to inspect contract definitions thoroughly for completeness.
[codex:1169658] exec
[codex:1169658] /bin/bash -lc 'rg -n "contract " contracts/src' in /tmp/codex-multi-ct6ol1zt succeeded in 11ms:
[codex:1169658] contracts/src/security/SecurityBase.sol:8:contract SecurityBase {
[codex:1169658] contracts/src/security/Pausable.sol:17:abstract contract Pausable {
[codex:1169658] contracts/src/security/Pausable.sol:66: /// @notice Returns true if the contract or system is paused, and false otherwise.
[codex:1169658] contracts/src/security/Pausable.sol:95: /// @dev Throws if the contract or system is paused.
[codex:1169658] contracts/src/security/Pausable.sol:102: /// @dev Throws if the contract or system is not paused.
[codex:1169658] contracts/src/vault/AutopoolETH.sol:46:contract AutopoolETH is ISystemComponent, Initializable, IAutopool, IStrategy, SecurityBase, Pausable, NonReentrant {
[codex:1169658] contracts/src/vault/AutopoolETH.sol:152: /// @notice Factory contract that created this vault
[codex:1169658] contracts/src/vault/AutopoolETH.sol:429: /// @notice Set the rewarder contract used by the vault.
[codex:1169658] contracts/src/interfaces/strategy/IStrategy.sol:75: /// @param receiver The contract receiving the tokens, needs to implement the
[codex:1169658] contracts/src/interfaces/vault/IAutopool.sol:55: /// @param totalIdle The amount of baseAsset deposited into the contract pending deployment
[codex:1169658] contracts/src/interfaces/rewarders/IMainRewarder.sol:16: * @notice Adds an ExtraRewarder contract address to the extraRewards array.
[codex:1169658] contracts/src/interfaces/rewarders/IMainRewarder.sol:23: * rewards for the account from this contract and any linked extra reward contracts.
[codex:1169658] contracts/src/interfaces/rewarders/IMainRewarder.sol:26: * @param claim If true, claims all rewards for the account from this contract and any linked extra reward
[codex:1169658] contracts/src/interfaces/rewarders/IMainRewarder.sol:32: * @notice Claims and transfers all rewards for the specified account from this contract and any linked extra reward
[codex:1169658] contracts/src/interfaces/vault/IERC4626.sol:87: /// - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the
[codex:1169658] contracts/src/interfaces/vault/IERC4626.sol:120: /// - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the mint
[codex:1169658] contracts/src/interfaces/vault/IERC4626.sol:154: /// - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the
[codex:1169658] contracts/src/interfaces/vault/IERC4626.sol:189: /// - MAY support an additional flow in which the underlying tokens are owned by the Vault contract before the
[codex:1169658] contracts/src/interfaces/vault/IDestinationVault.sol:52: /// been transferred into the contract outside of rebalance.
[codex:1169658] contracts/src/interfaces/vault/IDestinationVault.sol:170: /// @notice Stats contract for this vault
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Assessing potential share inflation and transfer risks**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc 'rg -n "safeTransfer" contracts/src' in /tmp/codex-multi-ct6ol1zt succeeded in 9ms:
[codex:1169658] contracts/src/vault/libs/Autopool4626.sol:133: baseAsset.safeTransferFrom(msg.sender, address(this), assets);
[codex:1169658] contracts/src/vault/libs/Autopool4626.sol:170: IERC20Metadata(tokenAddress).safeTransfer(destination, amount);
[codex:1169658] contracts/src/vault/libs/AutopoolDebt.sol:282: IERC20(params.tokenOut).safeTransfer(params.receiver, params.amountOut);
[codex:1169658] contracts/src/vault/libs/AutopoolDebt.sol:996: baseAsset.safeTransfer(receiver, assets);
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Searching for call value patterns**
[codex:1169658] exec
[codex:1169658] /bin/bash -lc "rg -n \"call\\{ value\" contracts/src" in /tmp/codex-multi-ct6ol1zt succeeded in 8ms:
[codex:1169658] contracts/src/vault/libs/Autopool4626.sol:173: payable(destination).call{ value: amount };
[codex:1169658]
[codex:1169658] thinking
[codex:1169658] **Finalizing audit findings output**
[codex:1169658]
[codex:1169658] I’m wrapping up by confirming no exploitable vulnerabilities needing roles were found and crafting a JSON response that states no findings, includes a summary of residual risks from unmodeled external contracts, and provides an empty findings array per the schema requirements.
[codex:1169658] codex
[codex:1169658] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided sources. Residual risk: destination vault/oracle implementations and system configuration are out of scope of this bundle and could introduce issues not assessable here.","findings":[]}
[codex:1169658] tokens used
[codex:1169658] 65,332
[codex:1169658] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided sources. Residual risk: destination vault/oracle implementations and system configuration are out of scope of this bundle and could introduce issues not assessable here.","findings":[]}
{
"codex": {
"ran_at": "2025-12-31T20:14:47.647573+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit paths found in the provided sources. Residual risk: destination vault/oracle implementations and system configuration are out of scope of this bundle and could introduce issues not assessable here.",
"raw_final": {
"summary": "No concrete, exploitable profit paths found in the provided sources. Residual risk: destination vault/oracle implementations and system configuration are out of scope of this bundle and could introduce issues not assessable here.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x0454 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x8456cb59 00000026: GT 00000027: PUSH2 0x0241 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xc63d75b6 00000031: GT 00000032: PUSH2 0x013b 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xda62e064 0000003c: GT 0000003d: PUSH2 0x00c3 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xe50d8b26 00000047: GT 00000048: PUSH2 0x0087 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xe50d8b26 00000052: EQ 00000053: PUSH2 0x0b2c 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xe9f45bec 0000005d: EQ 0000005e: PUSH2 0x0bd8 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xef8b30f7 00000068: EQ 00000069: PUSH2 0x0beb 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0xf12baf5c 00000073: EQ 00000074: PUSH2 0x0bfe 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0xfc468021 0000007e: EQ 0000007f: PUSH2 0x0c24 00000082: JUMPI 00000083: PUSH1 0x00 00000085: DUP1 00000086: REVERT 00000087: JUMPDEST 00000088: DUP1 00000089: PUSH4 0xda62e064 0000008e: EQ 0000008f: PUSH2 0x0aa7 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xdc47c23a 00000099: EQ 0000009a: PUSH2 0x0aba 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0xdcc3e06e 000000a4: EQ 000000a5: PUSH2 0x0acd 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0xdd62ed3e 000000af: EQ 000000b0: PUSH2 0x0ae0 000000b3: JUMPI 000000b4: DUP1 000000b5: PUSH4 0xe225df1b 000000ba: EQ 000000bb: PUSH2 0x0b19 000000be: JUMPI 000000bf: PUSH1 0x00 000000c1: DUP1 000000c2: REVERT 000000c3: JUMPDEST 000000c4: DUP1 000000c5: PUSH4 0xd505accf 000000ca: GT 000000cb: PUSH2 0x010a 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0xd505accf 000000d5: EQ 000000d6: PUSH2 0x0a3d 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0xd54ffc0b 000000e0: EQ 000000e1: PUSH2 0x0a50 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0xd905777e 000000eb: EQ 000000ec: PUSH2 0x0a79 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0xd9a0e97a 000000f6: EQ 000000f7: PUSH2 0x0a8c 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0xd9ac22d1 00000101: EQ 00000102: PUSH2 0x0a94 00000105: JUMPI 00000106: PUSH1 0x00 00000108: DUP1 00000109: REVERT 0000010a: JUMPDEST 0000010b: DUP1 0000010c: PUSH4 0xc63d75b6 00000111: EQ 00000112: PUSH2 0x09f1 00000115: JUMPI 00000116: DUP1 00000117: PUSH4 0xc6e6f592 0000011c: EQ 0000011d: PUSH2 0x0a04 00000120: JUMPI 00000121: DUP1 00000122: PUSH4 0xc7575dac 00000127: EQ 00000128: PUSH2 0x0a17 0000012b: JUMPI 0000012c: DUP1 0000012d: PUSH4 0xce96cb77 00000132: EQ 00000133: PUSH2 0x0a2a 00000136: JUMPI 00000137: PUSH1 0x00 00000139: DUP1 0000013a: REVERT 0000013b: JUMPDEST 0000013c: DUP1 0000013d: PUSH4 0xb3d7f6b9 00000142: GT 00000143: PUSH2 0x01c9 00000146: JUMPI 00000147: DUP1 00000148: PUSH4 0xbc43cbaf 0000014d: GT 0000014e: PUSH2 0x018d 00000151: JUMPI 00000152: DUP1 00000153: PUSH4 0xbc43cbaf 00000158: EQ 00000159: PUSH2 0x0972 0000015c: JUMPI 0000015d: DUP1 0000015e: PUSH4 0xbef893e8 00000163: EQ 00000164: PUSH2 0x0999 00000167: JUMPI 00000168: DUP1 00000169: PUSH4 0xbf86d690 0000016e: EQ 0000016f: PUSH2 0x09ac 00000172: JUMPI 00000173: DUP1 00000174: PUSH4 0xc2ee3a08 00000179: EQ 0000017a: PUSH2 0x09b7 0000017d: JUMPI 0000017e: DUP1 0000017f: PUSH4 0xc45a0155 00000184: EQ 00000185: PUSH2 0x09de 00000188: JUMPI 00000189: PUSH1 0x00 0000018b: DUP1 0000018c: REVERT 0000018d: JUMPDEST 0000018e: DUP1 0000018f: PUSH4 0xb3d7f6b9 00000194: EQ 00000195: PUSH2 0x091e 00000198: JUMPI 00000199: DUP1 0000019a: PUSH4 0xb460af94 0000019f: EQ 000001a0: PUSH2 0x0931 000001a3: JUMPI 000001a4: DUP1 000001a5: PUSH4 0xb639a0c1 000001aa: EQ 000001ab: PUSH2 0x0944 000001ae: JUMPI 000001af: DUP1 000001b0: PUSH4 0xba087652 000001b5: EQ 000001b6: PUSH2 0x094c 000001b9: JUMPI 000001ba: DUP1 000001bb: PUSH4 0xba689a12 000001c0: EQ 000001c1: PUSH2 0x095f 000001c4: JUMPI 000001c5: PUSH1 0x00 000001c7: DUP1 000001c8: REVERT 000001c9: JUMPDEST 000001ca: DUP1 000001cb: PUSH4 0x9a0dbc02 000001d0: GT 000001d1: PUSH2 0x0210 000001d4: JUMPI 000001d5: DUP1 000001d6: PUSH4 0x9a0dbc02 000001db: EQ 000001dc: PUSH2 0x08c9 000001df: JUMPI 000001e0: DUP1 000001e1: PUSH4 0x9e93ad8e 000001e6: EQ 000001e7: PUSH2 0x08dc 000001ea: JUMPI 000001eb: DUP1 000001ec: PUSH4 0xa9059cbb 000001f1: EQ 000001f2: PUSH2 0x08e5 000001f5: JUMPI 000001f6: DUP1 000001f7: PUSH4 0xa90a227a 000001fc: EQ 000001fd: PUSH2 0x08f8 00000200: JUMPI 00000201: DUP1 00000202: PUSH4 0xae35f432 00000207: EQ 00000208: PUSH2 0x090b 0000020b: JUMPI 0000020c: PUSH1 0x00 0000020e: DUP1 0000020f: REVERT 00000210: JUMPDEST 00000211: DUP1 00000212: PUSH4 0x8456cb59 00000217: EQ 00000218: PUSH2 0x0893 0000021b: JUMPI 0000021c: DUP1 0000021d: PUSH4 0x92804c6c 00000222: EQ 00000223: PUSH2 0x089b 00000226: JUMPI 00000227: DUP1 00000228: PUSH4 0x94bf804d 0000022d: EQ 0000022e: PUSH2 0x08ae 00000231: JUMPI 00000232: DUP1 00000233: PUSH4 0x95d89b41 00000238: EQ 00000239: PUSH2 0x08c1 0000023c: JUMPI 0000023d: PUSH1 0x00 0000023f: DUP1 00000240: REVERT 00000241: JUMPDEST 00000242: DUP1 00000243: PUSH4 0x3f4ba83a 00000248: GT 00000249: PUSH2 0x0352 0000024c: JUMPI 0000024d: DUP1 0000024e: PUSH4 0x5c975abb 00000253: GT 00000254: PUSH2 0x02da 00000257: JUMPI 00000258: DUP1 00000259: PUSH4 0x70a08231 0000025e: GT 0000025f: PUSH2 0x029e 00000262: JUMPI 00000263: DUP1 00000264: PUSH4 0x70a08231 00000269: EQ 0000026a: PUSH2 0x0829 0000026d: JUMPI 0000026e: DUP1 0000026f: PUSH4 0x77f748d0 00000274: EQ 00000275: PUSH2 0x083c 00000278: JUMPI 00000279: DUP1 0000027a: PUSH4 0x7ecebe00 0000027f: EQ 00000280: PUSH2 0x084f 00000283: JUMPI 00000284: DUP1 00000285: PUSH4 0x804a4219 0000028a: EQ 0000028b: PUSH2 0x0878 0000028e: JUMPI 0000028f: DUP1 00000290: PUSH4 0x8063e2b6 00000295: EQ 00000296: PUSH2 0x088b 00000299: JUMPI 0000029a: PUSH1 0x00 0000029c: DUP1 0000029d: REVERT 0000029e: JUMPDEST 0000029f: DUP1 000002a0: PUSH4 0x5c975abb 000002a5: EQ 000002a6: PUSH2 0x07ad 000002a9: JUMPI 000002aa: DUP1 000002ab: PUSH4 0x66c2072e 000002b0: EQ 000002b1: PUSH2 0x07b5 000002b4: JUMPI 000002b5: DUP1 000002b6: PUSH4 0x6e553f65 000002bb: EQ 000002bc: PUSH2 0x07c8 000002bf: JUMPI 000002c0: DUP1 000002c1: PUSH4 0x6f6f3821 000002c6: EQ 000002c7: PUSH2 0x07db 000002ca: JUMPI 000002cb: DUP1 000002cc: PUSH4 0x6fcb5f3d 000002d1: EQ 000002d2: PUSH2 0x07ee 000002d5: JUMPI 000002d6: PUSH1 0x00 000002d8: DUP1 000002d9: REVERT 000002da: JUMPDEST 000002db: DUP1 000002dc: PUSH4 0x4cdad506 000002e1: GT 000002e2: PUSH2 0x0321 000002e5: JUMPI 000002e6: DUP1 000002e7: PUSH4 0x4cdad506 000002ec: EQ 000002ed: PUSH2 0x076e 000002f0: JUMPI 000002f1: DUP1 000002f2: PUSH4 0x4e6fd6c4 000002f7: EQ 000002f8: PUSH2 0x0781 000002fb: JUMPI 000002fc: DUP1 000002fd: PUSH4 0x53589b74 00000302: EQ 00000303: PUSH2 0x078a 00000306: JUMPI 00000307: DUP1 00000308: PUSH4 0x544407e2 0000030d: EQ 0000030e: PUSH2 0x0792 00000311: JUMPI 00000312: DUP1 00000313: PUSH4 0x5ba536bc 00000318: EQ 00000319: PUSH2 0x07a5 0000031c: JUMPI 0000031d: PUSH1 0x00 0000031f: DUP1 00000320: REVERT 00000321: JUMPDEST 00000322: DUP1 00000323: PUSH4 0x3f4ba83a 00000328: EQ 00000329: PUSH2 0x0719 0000032c: JUMPI 0000032d: DUP1 0000032e: PUSH4 0x402d267d 00000333: EQ 00000334: PUSH2 0x0721 00000337: JUMPI 00000338: DUP1 00000339: PUSH4 0x48b80c5d 0000033e: EQ 0000033f: PUSH2 0x0734 00000342: JUMPI 00000343: DUP1 00000344: PUSH4 0x4ac032be 00000349: EQ 0000034a: PUSH2 0x0747 0000034d: JUMPI 0000034e: PUSH1 0x00 00000350: DUP1 00000351: REVERT 00000352: JUMPDEST 00000353: DUP1 00000354: PUSH4 0x23b872dd 00000359: GT 0000035a: PUSH2 0x03e0 0000035d: JUMPI 0000035e: DUP1 0000035f: PUSH4 0x2ec746bf 00000364: GT 00000365: PUSH2 0x03a4 00000368: JUMPI 00000369: DUP1 0000036a: PUSH4 0x2ec746bf 0000036f: EQ 00000370: PUSH2 0x05b4 00000373: JUMPI 00000374: DUP1 00000375: PUSH4 0x313ce567 0000037a: EQ 0000037b: PUSH2 0x05df 0000037e: JUMPI 0000037f: DUP1 00000380: PUSH4 0x3644e515 00000385: EQ 00000386: PUSH2 0x0610 00000389: JUMPI 0000038a: DUP1 0000038b: PUSH4 0x38d52e0f 00000390: EQ 00000391: PUSH2 0x06e0 00000394: JUMPI 00000395: DUP1 00000396: PUSH4 0x3a6462e4 0000039b: EQ 0000039c: PUSH2 0x0706 0000039f: JUMPI 000003a0: PUSH1 0x00 000003a2: DUP1 000003a3: REVERT 000003a4: JUMPDEST 000003a5: DUP1 000003a6: PUSH4 0x23b872dd 000003ab: EQ 000003ac: PUSH2 0x054c 000003af: JUMPI 000003b0: DUP1 000003b1: PUSH4 0x267eb9ed 000003b6: EQ 000003b7: PUSH2 0x055f 000003ba: JUMPI 000003bb: DUP1 000003bc: PUSH4 0x295b001f 000003c1: EQ 000003c2: PUSH2 0x0574 000003c5: JUMPI 000003c6: DUP1 000003c7: PUSH4 0x2b38400e 000003cc: EQ 000003cd: PUSH2 0x0587 000003d0: JUMPI 000003d1: DUP1 000003d2: PUSH4 0x2e4c9697 000003d7: EQ 000003d8: PUSH2 0x059c 000003db: JUMPI 000003dc: PUSH1 0x00 000003de: DUP1 000003df: REVERT 000003e0: JUMPDEST 000003e1: DUP1 000003e2: PUSH4 0x0a28a477 000003e7: GT 000003e8: PUSH2 0x0427 000003eb: JUMPI 000003ec: DUP1 000003ed: PUSH4 0x0a28a477 000003f2: EQ 000003f3: PUSH2 0x04bf 000003f6: JUMPI 000003f7: DUP1 000003f8: PUSH4 0x0e73ecef 000003fd: EQ 000003fe: PUSH2 0x04d2 00000401: JUMPI 00000402: DUP1 00000403: PUSH4 0x18160ddd 00000408: EQ 00000409: PUSH2 0x04e7 0000040c: JUMPI 0000040d: DUP1 0000040e: PUSH4 0x19004142 00000413: EQ 00000414: PUSH2 0x04ef 00000417: JUMPI 00000418: DUP1 00000419: PUSH4 0x19e65034 0000041e: EQ 0000041f: PUSH2 0x0544 00000422: JUMPI 00000423: PUSH1 0x00 00000425: DUP1 00000426: REVERT 00000427: JUMPDEST 00000428: DUP1 00000429: PUSH4 0x01e1d114 0000042e: EQ 0000042f: PUSH2 0x0459 00000432: JUMPI 00000433: DUP1 00000434: PUSH4 0x06fdde03 00000439: EQ 0000043a: PUSH2 0x0474 0000043d: JUMPI 0000043e: DUP1 0000043f: PUSH4 0x07a2d13a 00000444: EQ 00000445: PUSH2 0x0489 00000448: JUMPI 00000449: DUP1 0000044a: PUSH4 0x095ea7b3 0000044f: EQ 00000450: PUSH2 0x049c 00000453: JUMPI 00000454: JUMPDEST 00000455: PUSH1 0x00 00000457: DUP1 00000458: REVERT 00000459: JUMPDEST 0000045a: PUSH2 0x0461 0000045d: PUSH2 0x0c2e 00000460: JUMP 00000461: JUMPDEST 00000462: PUSH1 0x40 00000464: MLOAD 00000465: SWAP1 00000466: DUP2 00000467: MSTORE 00000468: PUSH1 0x20 0000046a: ADD 0000046b: JUMPDEST 0000046c: PUSH1 0x40 0000046e: MLOAD 0000046f: DUP1 00000470: SWAP2 00000471: SUB 00000472: SWAP1 00000473: RETURN 00000474: JUMPDEST 00000475: PUSH2 0x047c 00000478: PUSH2 0x0cb1 0000047b: JUMP 0000047c: JUMPDEST 0000047d: PUSH1 0x40 0000047f: MLOAD 00000480: PUSH2 0x046b 00000483: SWAP2 00000484: SWAP1 00000485: PUSH2 0x472a 00000488: JUMP 00000489: JUMPDEST 0000048a: PUSH2 0x0461 0000048d: PUSH2 0x0497 00000490: CALLDATASIZE 00000491: PUSH1 0x04 00000493: PUSH2 0x473d 00000496: JUMP 00000497: JUMPDEST 00000498: PUSH2 0x0d43 0000049b: JUMP 0000049c: JUMPDEST 0000049d: PUSH2 0x04af 000004a0: PUSH2 0x04aa 000004a3: CALLDATASIZE 000004a4: PUSH1 0x04 000004a6: PUSH2 0x476b 000004a9: JUMP 000004aa: JUMPDEST 000004ab: PUSH2 0x0d68 000004ae: JUMP 000004af: JUMPDEST 000004b0: PUSH1 0x40 000004b2: MLOAD 000004b3: SWAP1 000004b4: ISZERO 000004b5: ISZERO 000004b6: DUP2 000004b7: MSTORE 000004b8: PUSH1 0x20 000004ba: ADD 000004bb: PUSH2 0x046b 000004be: JUMP 000004bf: JUMPDEST 000004c0: PUSH2 0x0461 000004c3: PUSH2 0x04cd 000004c6: CALLDATASIZE 000004c7: PUSH1 0x04 000004c9: PUSH2 0x473d 000004cc: JUMP 000004cd: JUMPDEST 000004ce: PUSH2 0x0dfd 000004d1: JUMP 000004d2: JUMPDEST 000004d3: PUSH2 0x04da 000004d6: PUSH2 0x0ec9 000004d9: JUMP 000004da: JUMPDEST 000004db: PUSH1 0x40 000004dd: MLOAD 000004de: PUSH2 0x046b 000004e1: SWAP2 000004e2: SWAP1 000004e3: PUSH2 0x4797 000004e6: JUMP 000004e7: JUMPDEST 000004e8: PUSH2 0x0461 000004eb: PUSH2 0x0f45 000004ee: JUMP 000004ef: JUMPDEST 000004f0: PUSH2 0x0502 000004f3: PUSH2 0x04fd 000004f6: CALLDATASIZE 000004f7: PUSH1 0x04 000004f9: PUSH2 0x47e4 000004fc: JUMP 000004fd: JUMPDEST 000004fe: PUSH2 0x0f87 00000501: JUMP 00000502: JUMPDEST 00000503: PUSH1 0x40 00000505: MLOAD 00000506: PUSH2 0x046b 00000509: SWAP2 0000050a: SWAP1 0000050b: PUSH1 0x00 0000050d: PUSH1 0xa0 0000050f: DUP3 00000510: ADD 00000511: SWAP1 00000512: POP 00000513: DUP3 00000514: MLOAD 00000515: DUP3 00000516: MSTORE 00000517: PUSH1 0x20 00000519: DUP4 0000051a: ADD 0000051b: MLOAD 0000051c: PUSH1 0x20 0000051e: DUP4 0000051f: ADD 00000520: MSTORE 00000521: PUSH1 0x40 00000523: DUP4 00000524: ADD 00000525: MLOAD 00000526: PUSH1 0x40 00000528: DUP4 00000529: ADD 0000052a: MSTORE 0000052b: PUSH1 0x60 0000052d: DUP4 0000052e: ADD 0000052f: MLOAD 00000530: PUSH1 0x60 00000532: DUP4 00000533: ADD 00000534: MSTORE 00000535: PUSH1 0x80 00000537: DUP4 00000538: ADD 00000539: MLOAD 0000053a: PUSH1 0x80 0000053c: DUP4 0000053d: ADD 0000053e: MSTORE 0000053f: SWAP3 00000540: SWAP2 00000541: POP 00000542: POP 00000543: JUMP 00000544: JUMPDEST 00000545: PUSH2 0x04da 00000548: PUSH2 0x1011 0000054b: JUMP 0000054c: JUMPDEST 0000054d: PUSH2 0x04af 00000550: PUSH2 0x055a 00000553: CALLDATASIZE 00000554: PUSH1 0x04 00000556: PUSH2 0x4801 00000559: JUMP 0000055a: JUMPDEST 0000055b: PUSH2 0x101d 0000055e: JUMP 0000055f: JUMPDEST 00000560: PUSH2 0x0572 00000563: PUSH2 0x056d 00000566: CALLDATASIZE 00000567: PUSH1 0x04 00000569: PUSH2 0x496d 0000056c: JUMP 0000056d: JUMPDEST 0000056e: PUSH2 0x10c1 00000571: JUMP 00000572: JUMPDEST 00000573: STOP 00000574: JUMPDEST 00000575: PUSH2 0x0572 00000578: PUSH2 0x0582 0000057b: CALLDATASIZE 0000057c: PUSH1 0x04 0000057e: PUSH2 0x4a28 00000581: JUMP 00000582: JUMPDEST 00000583: PUSH2 0x13cd 00000586: JUMP 00000587: JUMPDEST 00000588: PUSH2 0x058f 0000058b: PUSH2 0x153c 0000058e: JUMP 0000058f: JUMPDEST 00000590: PUSH1 0x40 00000592: MLOAD 00000593: PUSH2 0x046b 00000596: SWAP2 00000597: SWAP1 00000598: PUSH2 0x4a45 0000059b: JUMP 0000059c: JUMPDEST 0000059d: PUSH1 0x0d 0000059f: SLOAD 000005a0: PUSH2 0x0100 000005a3: SWAP1 000005a4: DIV 000005a5: PUSH1 0xff 000005a7: AND 000005a8: PUSH1 0x40 000005aa: MLOAD 000005ab: PUSH2 0x046b 000005ae: SWAP2 000005af: SWAP1 000005b0: PUSH2 0x4b0a 000005b3: JUMP 000005b4: JUMPDEST 000005b5: PUSH1 0x26 000005b7: SLOAD 000005b8: PUSH2 0x05c7 000005bb: SWAP1 000005bc: PUSH1 0x01 000005be: PUSH1 0x01 000005c0: PUSH1 0xa0 000005c2: SHL 000005c3: SUB 000005c4: AND 000005c5: DUP2 000005c6: JUMP 000005c7: JUMPDEST 000005c8: PUSH1 0x40 000005ca: MLOAD 000005cb: PUSH1 0x01 000005cd: PUSH1 0x01 000005cf: PUSH1 0xa0 000005d1: SHL 000005d2: SUB 000005d3: SWAP1 000005d4: SWAP2 000005d5: AND 000005d6: DUP2 000005d7: MSTORE 000005d8: PUSH1 0x20 000005da: ADD 000005db: PUSH2 0x046b 000005de: JUMP 000005df: JUMPDEST 000005e0: PUSH1 0x40 000005e2: MLOAD 000005e3: PUSH1 0xff 000005e5: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000012 00000606: AND 00000607: DUP2 00000608: MSTORE 00000609: PUSH1 0x20 0000060b: ADD 0000060c: PUSH2 0x046b 0000060f: JUMP 00000610: JUMPDEST 00000611: PUSH1 0x40 00000613: DUP1 00000614: MLOAD 00000615: DUP1 00000616: DUP3 00000617: ADD 00000618: DUP3 00000619: MSTORE 0000061a: PUSH1 0x07 0000061c: DUP2 0000061d: MSTORE 0000061e: PUSH7 0x546f6b656d616b 00000626: PUSH1 0xc8 00000628: SHL 00000629: PUSH1 0x20 0000062b: SWAP2 0000062c: DUP3 0000062d: ADD 0000062e: MSTORE 0000062f: DUP2 00000630: MLOAD 00000631: DUP1 00000632: DUP4 00000633: ADD 00000634: DUP4 00000635: MSTORE 00000636: PUSH1 0x01 00000638: DUP2 00000639: MSTORE 0000063a: PUSH1 0x31 0000063c: PUSH1 0xf8 0000063e: SHL 0000063f: SWAP1 00000640: DUP3 00000641: ADD 00000642: MSTORE 00000643: DUP2 00000644: MLOAD 00000645: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 00000666: DUP2 00000667: DUP4 00000668: ADD 00000669: MSTORE 0000066a: PUSH32 0x23507ec2a6c39fbe11564ea15b41b88713abf0a51468497aca3adc4f90e202d1 0000068b: DUP2 0000068c: DUP5 0000068d: ADD 0000068e: MSTORE 0000068f: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 000006b0: PUSH1 0x60 000006b2: DUP3 000006b3: ADD 000006b4: MSTORE 000006b5: CHAINID 000006b6: PUSH1 0x80 000006b8: DUP3 000006b9: ADD 000006ba: MSTORE 000006bb: ADDRESS 000006bc: PUSH1 0xa0 000006be: DUP1 000006bf: DUP4 000006c0: ADD 000006c1: SWAP2 000006c2: SWAP1 000006c3: SWAP2 000006c4: MSTORE 000006c5: DUP4 000006c6: MLOAD 000006c7: DUP1 000006c8: DUP4 000006c9: SUB 000006ca: SWAP1 000006cb: SWAP2 000006cc: ADD 000006cd: DUP2 000006ce: MSTORE 000006cf: PUSH1 0xc0 000006d1: SWAP1 000006d2: SWAP2 000006d3: ADD 000006d4: SWAP1 000006d5: SWAP3 000006d6: MSTORE 000006d7: DUP2 000006d8: MLOAD 000006d9: SWAP2 000006da: ADD 000006db: KECCAK256 000006dc: PUSH2 0x0461 000006df: JUMP 000006e0: JUMPDEST 000006e1: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000702: PUSH2 0x05c7 00000705: JUMP 00000706: JUMPDEST 00000707: PUSH2 0x0572 0000070a: PUSH2 0x0714 0000070d: CALLDATASIZE 0000070e: PUSH1 0x04 00000710: PUSH2 0x47e4 00000713: JUMP 00000714: JUMPDEST 00000715: PUSH2 0x1619 00000718: JUMP 00000719: JUMPDEST 0000071a: PUSH2 0x0572 0000071d: PUSH2 0x1766 00000720: JUMP 00000721: JUMPDEST 00000722: PUSH2 0x0461 00000725: PUSH2 0x072f 00000728: CALLDATASIZE 00000729: PUSH1 0x04 0000072b: PUSH2 0x47e4 0000072e: JUMP 0000072f: JUMPDEST 00000730: PUSH2 0x189d 00000733: JUMP 00000734: JUMPDEST 00000735: PUSH2 0x0461 00000738: PUSH2 0x0742 0000073b: CALLDATASIZE 0000073c: PUSH1 0x04 0000073e: PUSH2 0x4b1d 00000741: JUMP 00000742: JUMPDEST 00000743: PUSH2 0x18b2 00000746: JUMP 00000747: JUMPDEST 00000748: PUSH2 0x0461 0000074b: PUSH32 0xde6f3096d4f66344ff788320cd544f72ff6f5662e94f10e931a2dc34104866b7 0000076c: DUP2 0000076d: JUMP 0000076e: JUMPDEST 0000076f: PUSH2 0x0461 00000772: PUSH2 0x077c 00000775: CALLDATASIZE 00000776: PUSH1 0x04 00000778: PUSH2 0x473d 0000077b: JUMP 0000077c: JUMPDEST 0000077d: PUSH2 0x18d6 00000780: JUMP 00000781: JUMPDEST 00000782: PUSH2 0x05c7 00000785: PUSH2 0xdead 00000788: DUP2 00000789: JUMP 0000078a: JUMPDEST 0000078b: PUSH2 0x0461 0000078e: PUSH2 0x19da 00000791: JUMP 00000792: JUMPDEST 00000793: PUSH2 0x0572 00000796: PUSH2 0x07a0 00000799: CALLDATASIZE 0000079a: PUSH1 0x04 0000079c: PUSH2 0x473d 0000079f: JUMP 000007a0: JUMPDEST 000007a1: PUSH2 0x1a74 000007a4: JUMP 000007a5: JUMPDEST 000007a6: PUSH2 0x04da 000007a9: PUSH2 0x1e99 000007ac: JUMP 000007ad: JUMPDEST 000007ae: PUSH2 0x04af 000007b1: PUSH2 0x1ea5 000007b4: JUMP 000007b5: JUMPDEST 000007b6: PUSH2 0x0572 000007b9: PUSH2 0x07c3 000007bc: CALLDATASIZE 000007bd: PUSH1 0x04 000007bf: PUSH2 0x4ba9 000007c2: JUMP 000007c3: JUMPDEST 000007c4: PUSH2 0x1f3c 000007c7: JUMP 000007c8: JUMPDEST 000007c9: PUSH2 0x0461 000007cc: PUSH2 0x07d6 000007cf: CALLDATASIZE 000007d0: PUSH1 0x04 000007d2: PUSH2 0x4bea 000007d5: JUMP 000007d6: JUMPDEST 000007d7: PUSH2 0x20a0 000007da: JUMP 000007db: JUMPDEST 000007dc: PUSH2 0x0572 000007df: PUSH2 0x07e9 000007e2: CALLDATASIZE 000007e3: PUSH1 0x04 000007e5: PUSH2 0x4c28 000007e8: JUMP 000007e9: JUMPDEST 000007ea: PUSH2 0x2195 000007ed: JUMP 000007ee: JUMPDEST 000007ef: PUSH2 0x07f6 000007f2: PUSH2 0x22d3 000007f5: JUMP 000007f6: JUMPDEST 000007f7: PUSH1 0x40 000007f9: MLOAD 000007fa: PUSH2 0x046b 000007fd: SWAP2 000007fe: SWAP1 000007ff: DUP2 00000800: MLOAD 00000801: DUP2 00000802: MSTORE 00000803: PUSH1 0x20 00000805: DUP1 00000806: DUP4 00000807: ADD 00000808: MLOAD 00000809: SWAP1 0000080a: DUP3 0000080b: ADD 0000080c: MSTORE 0000080d: PUSH1 0x40 0000080f: DUP1 00000810: DUP4 00000811: ADD 00000812: MLOAD 00000813: SWAP1 00000814: DUP3 00000815: ADD 00000816: MSTORE 00000817: PUSH1 0x60 00000819: SWAP2 0000081a: DUP3 0000081b: ADD 0000081c: MLOAD 0000081d: SWAP2 0000081e: DUP2 0000081f: ADD 00000820: SWAP2 00000821: SWAP1 00000822: SWAP2 00000823: MSTORE 00000824: PUSH1 0x80 00000826: ADD 00000827: SWAP1 00000828: JUMP 00000829: JUMPDEST 0000082a: PUSH2 0x0461 0000082d: PUSH2 0x0837 00000830: CALLDATASIZE 00000831: PUSH1 0x04 00000833: PUSH2 0x47e4 00000836: JUMP 00000837: JUMPDEST 00000838: PUSH2 0x232d 0000083b: JUMP 0000083c: JUMPDEST 0000083d: PUSH2 0x0461 00000840: PUSH2 0x084a 00000843: CALLDATASIZE 00000844: PUSH1 0x04 00000846: PUSH2 0x4b1d 00000849: JUMP 0000084a: JUMPDEST 0000084b: PUSH2 0x23bb 0000084e: JUMP 0000084f: JUMPDEST 00000850: PUSH2 0x0461 00000853: PUSH2 0x085d 00000856: CALLDATASIZE 00000857: PUSH1 0x04 00000859: PUSH2 0x47e4 0000085c: JUMP 0000085d: JUMPDEST 0000085e: PUSH1 0x01 00000860: PUSH1 0x01 00000862: PUSH1 0xa0 00000864: SHL 00000865: SUB 00000866: AND 00000867: PUSH1 0x00 00000869: SWAP1 0000086a: DUP2 0000086b: MSTORE 0000086c: PUSH1 0x05 0000086e: PUSH1 0x20 00000870: MSTORE 00000871: PUSH1 0x40 00000873: SWAP1 00000874: KECCAK256 00000875: SLOAD 00000876: SWAP1 00000877: JUMP 00000878: JUMPDEST 00000879: PUSH2 0x0572 0000087c: PUSH2 0x0886 0000087f: CALLDATASIZE 00000880: PUSH1 0x04 00000882: PUSH2 0x4ba9 00000885: JUMP 00000886: JUMPDEST 00000887: PUSH2 0x23d8 0000088a: JUMP 0000088b: JUMPDEST 0000088c: PUSH2 0x04da 0000088f: PUSH2 0x24e5 00000892: JUMP 00000893: JUMPDEST 00000894: PUSH2 0x0572 00000897: PUSH2 0x24f1 0000089a: JUMP 0000089b: JUMPDEST 0000089c: PUSH2 0x0572 0000089f: PUSH2 0x08a9 000008a2: CALLDATASIZE 000008a3: PUSH1 0x04 000008a5: PUSH2 0x473d 000008a8: JUMP 000008a9: JUMPDEST 000008aa: PUSH2 0x2628 000008ad: JUMP 000008ae: JUMPDEST 000008af: PUSH2 0x0461 000008b2: PUSH2 0x08bc 000008b5: CALLDATASIZE 000008b6: PUSH1 0x04 000008b8: PUSH2 0x4bea 000008bb: JUMP 000008bc: JUMPDEST 000008bd: PUSH2 0x2783 000008c0: JUMP 000008c1: JUMPDEST 000008c2: PUSH2 0x047c 000008c5: PUSH2 0x281e 000008c8: JUMP 000008c9: JUMPDEST 000008ca: PUSH2 0x0572 000008cd: PUSH2 0x08d7 000008d0: CALLDATASIZE 000008d1: PUSH1 0x04 000008d3: PUSH2 0x4c45 000008d6: JUMP 000008d7: JUMPDEST 000008d8: PUSH2 0x282d 000008db: JUMP 000008dc: JUMPDEST 000008dd: PUSH2 0x0461 000008e0: PUSH2 0x2710 000008e3: DUP2 000008e4: JUMP 000008e5: JUMPDEST 000008e6: PUSH2 0x04af 000008e9: PUSH2 0x08f3 000008ec: CALLDATASIZE 000008ed: PUSH1 0x04 000008ef: PUSH2 0x476b 000008f2: JUMP 000008f3: JUMPDEST 000008f4: PUSH2 0x29ef 000008f7: JUMP 000008f8: JUMPDEST 000008f9: PUSH2 0x0461 000008fc: PUSH2 0x0906 000008ff: CALLDATASIZE 00000900: PUSH1 0x04 00000902: PUSH2 0x4a28 00000905: JUMP 00000906: JUMPDEST 00000907: PUSH2 0x2a47 0000090a: JUMP 0000090b: JUMPDEST 0000090c: PUSH2 0x0572 0000090f: PUSH2 0x0919 00000912: CALLDATASIZE 00000913: PUSH1 0x04 00000915: PUSH2 0x47e4 00000918: JUMP 00000919: JUMPDEST 0000091a: PUSH2 0x2a84 0000091d: JUMP 0000091e: JUMPDEST 0000091f: PUSH2 0x0461 00000922: PUSH2 0x092c 00000925: CALLDATASIZE 00000926: PUSH1 0x04 00000928: PUSH2 0x473d 0000092b: JUMP 0000092c: JUMPDEST 0000092d: PUSH2 0x2b8c 00000930: JUMP 00000931: JUMPDEST 00000932: PUSH2 0x0461 00000935: PUSH2 0x093f 00000938: CALLDATASIZE 00000939: PUSH1 0x04 0000093b: PUSH2 0x4ca8 0000093e: JUMP 0000093f: JUMPDEST 00000940: PUSH2 0x2bd8 00000943: JUMP 00000944: JUMPDEST 00000945: PUSH2 0x04da 00000948: PUSH2 0x2cfb 0000094b: JUMP 0000094c: JUMPDEST 0000094d: PUSH2 0x0461 00000950: PUSH2 0x095a 00000953: CALLDATASIZE 00000954: PUSH1 0x04 00000956: PUSH2 0x4ca8 00000959: JUMP 0000095a: JUMPDEST 0000095b: PUSH2 0x2d36 0000095e: JUMP 0000095f: JUMPDEST 00000960: PUSH2 0x04af 00000963: PUSH2 0x096d 00000966: CALLDATASIZE 00000967: PUSH1 0x04 00000969: PUSH2 0x47e4 0000096c: JUMP 0000096d: JUMPDEST 0000096e: PUSH2 0x2ec2 00000971: JUMP 00000972: JUMPDEST 00000973: PUSH2 0x05c7 00000976: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00000997: DUP2 00000998: JUMP 00000999: JUMPDEST 0000099a: PUSH2 0x0572 0000099d: PUSH2 0x09a7 000009a0: CALLDATASIZE 000009a1: PUSH1 0x04 000009a3: PUSH2 0x4cea 000009a6: JUMP 000009a7: JUMPDEST 000009a8: PUSH2 0x2ecf 000009ab: JUMP 000009ac: JUMPDEST 000009ad: PUSH1 0x0d 000009af: SLOAD 000009b0: PUSH1 0xff 000009b2: AND 000009b3: PUSH2 0x04af 000009b6: JUMP 000009b7: JUMPDEST 000009b8: PUSH2 0x0461 000009bb: PUSH32 0x0000000000000000000000000000000000000000000000000de0b6b3a7640000 000009dc: DUP2 000009dd: JUMP 000009de: JUMPDEST 000009df: PUSH1 0x24 000009e1: SLOAD 000009e2: PUSH2 0x05c7 000009e5: SWAP1 000009e6: PUSH1 0x01 000009e8: PUSH1 0x01 000009ea: PUSH1 0xa0 000009ec: SHL 000009ed: SUB 000009ee: AND 000009ef: DUP2 000009f0: JUMP 000009f1: JUMPDEST 000009f2: PUSH2 0x0461 000009f5: PUSH2 0x09ff 000009f8: CALLDATASIZE 000009f9: PUSH1 0x04 000009fb: PUSH2 0x47e4 000009fe: JUMP 000009ff: JUMPDEST 00000a00: PUSH2 0x3017 00000a03: JUMP 00000a04: JUMPDEST 00000a05: PUSH2 0x0461 00000a08: PUSH2 0x0a12 00000a0b: CALLDATASIZE 00000a0c: PUSH1 0x04 00000a0e: PUSH2 0x473d 00000a11: JUMP 00000a12: JUMPDEST 00000a13: PUSH2 0x30a2 00000a16: JUMP 00000a17: JUMPDEST 00000a18: PUSH2 0x0572 00000a1b: PUSH2 0x0a25 00000a1e: CALLDATASIZE 00000a1f: PUSH1 0x04 00000a21: PUSH2 0x473d 00000a24: JUMP 00000a25: JUMPDEST 00000a26: PUSH2 0x30ba 00000a29: JUMP 00000a2a: JUMPDEST 00000a2b: PUSH2 0x0461 00000a2e: PUSH2 0x0a38 00000a31: CALLDATASIZE 00000a32: PUSH1 0x04 00000a34: PUSH2 0x47e4 00000a37: JUMP 00000a38: JUMPDEST 00000a39: PUSH2 0x31e6 00000a3c: JUMP 00000a3d: JUMPDEST 00000a3e: PUSH2 0x0572 00000a41: PUSH2 0x0a4b 00000a44: CALLDATASIZE 00000a45: PUSH1 0x04 00000a47: PUSH2 0x4d83 00000a4a: JUMP 00000a4b: JUMPDEST 00000a4c: PUSH2 0x331a 00000a4f: JUMP 00000a50: JUMPDEST 00000a51: PUSH2 0x0461 00000a54: PUSH2 0x0a5e 00000a57: CALLDATASIZE 00000a58: PUSH1 0x04 00000a5a: PUSH2 0x47e4 00000a5d: JUMP 00000a5e: JUMPDEST 00000a5f: PUSH1 0x01 00000a61: PUSH1 0x01 00000a63: PUSH1 0xa0 00000a65: SHL 00000a66: SUB 00000a67: AND 00000a68: PUSH1 0x00 00000a6a: SWAP1 00000a6b: DUP2 00000a6c: MSTORE 00000a6d: PUSH1 0x02 00000a6f: PUSH1 0x20 00000a71: MSTORE 00000a72: PUSH1 0x40 00000a74: SWAP1 00000a75: KECCAK256 00000a76: SLOAD 00000a77: SWAP1 00000a78: JUMP 00000a79: JUMPDEST 00000a7a: PUSH2 0x0461 00000a7d: PUSH2 0x0a87 00000a80: CALLDATASIZE 00000a81: PUSH1 0x04 00000a83: PUSH2 0x47e4 00000a86: JUMP 00000a87: JUMPDEST 00000a88: PUSH2 0x338f 00000a8b: JUMP 00000a8c: JUMPDEST 00000a8d: PUSH2 0x0461 00000a90: PUSH2 0x33a4 00000a93: JUMP 00000a94: JUMPDEST 00000a95: PUSH2 0x0572 00000a98: PUSH2 0x0aa2 00000a9b: CALLDATASIZE 00000a9c: PUSH1 0x04 00000a9e: PUSH2 0x4dfa 00000aa1: JUMP 00000aa2: JUMPDEST 00000aa3: PUSH2 0x33e6 00000aa6: JUMP 00000aa7: JUMPDEST 00000aa8: PUSH2 0x0572 00000aab: PUSH2 0x0ab5 00000aae: CALLDATASIZE 00000aaf: PUSH1 0x04 00000ab1: PUSH2 0x47e4 00000ab4: JUMP 00000ab5: JUMPDEST 00000ab6: PUSH2 0x3501 00000ab9: JUMP 00000aba: JUMPDEST 00000abb: PUSH2 0x0572 00000abe: PUSH2 0x0ac8 00000ac1: CALLDATASIZE 00000ac2: PUSH1 0x04 00000ac4: PUSH2 0x4e63 00000ac7: JUMP 00000ac8: JUMPDEST 00000ac9: PUSH2 0x3609 00000acc: JUMP 00000acd: JUMPDEST 00000ace: PUSH1 0x25 00000ad0: SLOAD 00000ad1: PUSH2 0x05c7 00000ad4: SWAP1 00000ad5: PUSH1 0x01 00000ad7: PUSH1 0x01 00000ad9: PUSH1 0xa0 00000adb: SHL 00000adc: SUB 00000add: AND 00000ade: DUP2 00000adf: JUMP 00000ae0: JUMPDEST 00000ae1: PUSH2 0x0461 00000ae4: PUSH2 0x0aee 00000ae7: CALLDATASIZE 00000ae8: PUSH1 0x04 00000aea: PUSH2 0x4f33 00000aed: JUMP 00000aee: JUMPDEST 00000aef: PUSH1 0x01 00000af1: PUSH1 0x01 00000af3: PUSH1 0xa0 00000af5: SHL 00000af6: SUB 00000af7: SWAP2 00000af8: DUP3 00000af9: AND 00000afa: PUSH1 0x00 00000afc: SWAP1 00000afd: DUP2 00000afe: MSTORE 00000aff: PUSH1 0x03 00000b01: PUSH1 0x20 00000b03: SWAP1 00000b04: DUP2 00000b05: MSTORE 00000b06: PUSH1 0x40 00000b08: DUP1 00000b09: DUP4 00000b0a: KECCAK256 00000b0b: SWAP4 00000b0c: SWAP1 00000b0d: SWAP5 00000b0e: AND 00000b0f: DUP3 00000b10: MSTORE 00000b11: SWAP2 00000b12: SWAP1 00000b13: SWAP2 00000b14: MSTORE 00000b15: KECCAK256 00000b16: SLOAD 00000b17: SWAP1 00000b18: JUMP 00000b19: JUMPDEST 00000b1a: PUSH2 0x04af 00000b1d: PUSH2 0x0b27 00000b20: CALLDATASIZE 00000b21: PUSH1 0x04 00000b23: PUSH2 0x47e4 00000b26: JUMP 00000b27: JUMPDEST 00000b28: PUSH2 0x3b3f 00000b2b: JUMP 00000b2c: JUMPDEST 00000b2d: PUSH2 0x0b99 00000b30: PUSH1 0x40 00000b32: DUP1 00000b33: MLOAD 00000b34: PUSH1 0x80 00000b36: DUP2 00000b37: ADD 00000b38: DUP3 00000b39: MSTORE 00000b3a: PUSH1 0x00 00000b3c: DUP1 00000b3d: DUP3 00000b3e: MSTORE 00000b3f: PUSH1 0x20 00000b41: DUP3 00000b42: ADD 00000b43: DUP2 00000b44: SWAP1 00000b45: MSTORE 00000b46: SWAP2 00000b47: DUP2 00000b48: ADD 00000b49: DUP3 00000b4a: SWAP1 00000b4b: MSTORE 00000b4c: PUSH1 0x60 00000b4e: DUP2 00000b4f: ADD 00000b50: SWAP2 00000b51: SWAP1 00000b52: SWAP2 00000b53: MSTORE 00000b54: POP 00000b55: PUSH1 0x40 00000b57: DUP1 00000b58: MLOAD 00000b59: PUSH1 0x80 00000b5b: DUP2 00000b5c: ADD 00000b5d: DUP3 00000b5e: MSTORE 00000b5f: PUSH1 0x12 00000b61: SLOAD 00000b62: PUSH6 0xffffffffffff 00000b69: DUP1 00000b6a: DUP3 00000b6b: AND 00000b6c: DUP4 00000b6d: MSTORE 00000b6e: PUSH7 0x01000000000000 00000b76: DUP3 00000b77: DIV 00000b78: DUP2 00000b79: AND 00000b7a: PUSH1 0x20 00000b7c: DUP5 00000b7d: ADD 00000b7e: MSTORE 00000b7f: PUSH1 0x01 00000b81: PUSH1 0x60 00000b83: SHL 00000b84: SWAP1 00000b85: SWAP2 00000b86: DIV 00000b87: AND 00000b88: SWAP2 00000b89: DUP2 00000b8a: ADD 00000b8b: SWAP2 00000b8c: SWAP1 00000b8d: SWAP2 00000b8e: MSTORE 00000b8f: PUSH1 0x13 00000b91: SLOAD 00000b92: PUSH1 0x60 00000b94: DUP3 00000b95: ADD 00000b96: MSTORE 00000b97: SWAP1 00000b98: JUMP 00000b99: JUMPDEST 00000b9a: PUSH1 0x40 00000b9c: DUP1 00000b9d: MLOAD 00000b9e: DUP3 00000b9f: MLOAD 00000ba0: PUSH6 0xffffffffffff 00000ba7: SWAP1 00000ba8: DUP2 00000ba9: AND 00000baa: DUP3 00000bab: MSTORE 00000bac: PUSH1 0x20 00000bae: DUP1 00000baf: DUP6 00000bb0: ADD 00000bb1: MLOAD 00000bb2: DUP3 00000bb3: AND 00000bb4: SWAP1 00000bb5: DUP4 00000bb6: ADD 00000bb7: MSTORE 00000bb8: DUP4 00000bb9: DUP4 00000bba: ADD 00000bbb: MLOAD 00000bbc: AND 00000bbd: SWAP2 00000bbe: DUP2 00000bbf: ADD 00000bc0: SWAP2 00000bc1: SWAP1 00000bc2: SWAP2 00000bc3: MSTORE 00000bc4: PUSH1 0x60 00000bc6: SWAP2 00000bc7: DUP3 00000bc8: ADD 00000bc9: MLOAD 00000bca: SWAP2 00000bcb: DUP2 00000bcc: ADD 00000bcd: SWAP2 00000bce: SWAP1 00000bcf: SWAP2 00000bd0: MSTORE 00000bd1: PUSH1 0x80 00000bd3: ADD 00000bd4: PUSH2 0x046b 00000bd7: JUMP 00000bd8: JUMPDEST 00000bd9: PUSH2 0x04af 00000bdc: PUSH2 0x0be6 00000bdf: CALLDATASIZE 00000be0: PUSH1 0x04 00000be2: PUSH2 0x47e4 00000be5: JUMP 00000be6: JUMPDEST 00000be7: PUSH2 0x3b4c 00000bea: JUMP 00000beb: JUMPDEST 00000bec: PUSH2 0x0461 00000bef: PUSH2 0x0bf9 00000bf2: CALLDATASIZE 00000bf3: PUSH1 0x04 00000bf5: PUSH2 0x473d 00000bf8: JUMP 00000bf9: JUMPDEST 00000bfa: PUSH2 0x3b59 00000bfd: JUMP 00000bfe: JUMPDEST 00000bff: PUSH32 0x0000000000000000000000002218f90a98b0c070676f249ef44834686daa4285 00000c20: PUSH2 0x05c7 00000c23: JUMP 00000c24: JUMPDEST 00000c25: PUSH2 0x0461 00000c28: PUSH3 0x0186a0 00000c2c: DUP2 00000c2d: JUMP 00000c2e: JUMPDEST 00000c2f: PUSH1 0x40 00000c31: MLOAD 00000c32: PUSH4 0x105fbc17 00000c37: PUSH1 0xe1 00000c39: SHL 00000c3a: DUP2 00000c3b: MSTORE 00000c3c: PUSH1 0x00 00000c3e: SWAP1 00000c3f: PUSH20 0x8709b88c5cbca830d63f726a6f6f8c6573486223 00000c54: SWAP1 00000c55: PUSH4 0x20bf782e 00000c5a: SWAP1 00000c5b: PUSH2 0x0c6b 00000c5e: SWAP1 00000c5f: PUSH1 0x1e 00000c61: SWAP1 00000c62: DUP6 00000c63: SWAP1 00000c64: PUSH1 0x04 00000c66: ADD 00000c67: PUSH2 0x4f61 00000c6a: JUMP 00000c6b: JUMPDEST 00000c6c: PUSH1 0x20 00000c6e: PUSH1 0x40 00000c70: MLOAD 00000c71: DUP1 00000c72: DUP4 00000c73: SUB 00000c74: DUP2 00000c75: DUP7 00000c76: GAS 00000c77: DELEGATECALL 00000c78: ISZERO 00000c79: DUP1 00000c7a: ISZERO 00000c7b: PUSH2 0x0c88 00000c7e: JUMPI 00000c7f: RETURNDATASIZE 00000c80: PUSH1 0x00 00000c82: DUP1 00000c83: RETURNDATACOPY 00000c84: RETURNDATASIZE 00000c85: PUSH1 0x00 00000c87: REVERT 00000c88: JUMPDEST 00000c89: POP 00000c8a: POP 00000c8b: POP 00000c8c: POP 00000c8d: PUSH1 0x40 00000c8f: MLOAD 00000c90: RETURNDATASIZE 00000c91: PUSH1 0x1f 00000c93: NOT 00000c94: PUSH1 0x1f 00000c96: DUP3 00000c97: ADD 00000c98: AND 00000c99: DUP3 00000c9a: ADD 00000c9b: DUP1 00000c9c: PUSH1 0x40 00000c9e: MSTORE 00000c9f: POP 00000ca0: DUP2 00000ca1: ADD 00000ca2: SWAP1 00000ca3: PUSH2 0x0cac 00000ca6: SWAP2 00000ca7: SWAP1 00000ca8: PUSH2 0x4f7e 00000cab: JUMP 00000cac: JUMPDEST 00000cad: SWAP1 00000cae: POP 00000caf: SWAP1 00000cb0: JUMP 00000cb1: JUMPDEST 00000cb2: PUSH1 0x60 00000cb4: PUSH1 0x06 00000cb6: DUP1 00000cb7: SLOAD 00000cb8: PUSH2 0x0cc0 00000cbb: SWAP1 00000cbc: PUSH2 0x4f97 00000cbf: JUMP 00000cc0: JUMPDEST 00000cc1: DUP1 00000cc2: PUSH1 0x1f 00000cc4: ADD 00000cc5: PUSH1 0x20 00000cc7: DUP1 00000cc8: SWAP2 00000cc9: DIV 00000cca: MUL 00000ccb: PUSH1 0x20 00000ccd: ADD 00000cce: PUSH1 0x40 00000cd0: MLOAD 00000cd1: SWAP1 00000cd2: DUP2 00000cd3: ADD 00000cd4: PUSH1 0x40 00000cd6: MSTORE 00000cd7: DUP1 00000cd8: SWAP3 00000cd9: SWAP2 00000cda: SWAP1 00000cdb: DUP2 00000cdc: DUP2 00000cdd: MSTORE 00000cde: PUSH1 0x20 00000ce0: ADD 00000ce1: DUP3 00000ce2: DUP1 00000ce3: SLOAD 00000ce4: PUSH2 0x0cec 00000ce7: SWAP1 00000ce8: PUSH2 0x4f97 00000ceb: JUMP 00000cec: JUMPDEST 00000ced: DUP1 00000cee: ISZERO 00000cef: PUSH2 0x0d39 00000cf2: JUMPI 00000cf3: DUP1 00000cf4: PUSH1 0x1f 00000cf6: LT 00000cf7: PUSH2 0x0d0e 00000cfa: JUMPI 00000cfb: PUSH2 0x0100 00000cfe: DUP1 00000cff: DUP4 00000d00: SLOAD 00000d01: DIV 00000d02: MUL 00000d03: DUP4 00000d04: MSTORE 00000d05: SWAP2 00000d06: PUSH1 0x20 00000d08: ADD 00000d09: SWAP2 00000d0a: PUSH2 0x0d39 00000d0d: JUMP 00000d0e: JUMPDEST 00000d0f: DUP3 00000d10: ADD 00000d11: SWAP2 00000d12: SWAP1 00000d13: PUSH1 0x00 00000d15: MSTORE 00000d16: PUSH1 0x20 00000d18: PUSH1 0x00 00000d1a: KECCAK256 00000d1b: SWAP1 00000d1c: JUMPDEST 00000d1d: DUP2 00000d1e: SLOAD 00000d1f: DUP2 00000d20: MSTORE 00000d21: SWAP1 00000d22: PUSH1 0x01 00000d24: ADD 00000d25: SWAP1 00000d26: PUSH1 0x20 00000d28: ADD 00000d29: DUP1 00000d2a: DUP4 00000d2b: GT 00000d2c: PUSH2 0x0d1c 00000d2f: JUMPI 00000d30: DUP3 00000d31: SWAP1 00000d32: SUB 00000d33: PUSH1 0x1f 00000d35: AND 00000d36: DUP3 00000d37: ADD 00000d38: SWAP2 00000d39: JUMPDEST 00000d3a: POP 00000d3b: POP 00000d3c: POP 00000d3d: POP 00000d3e: POP 00000d3f: SWAP1 00000d40: POP 00000d41: SWAP1 00000d42: JUMP 00000d43: JUMPDEST 00000d44: PUSH1 0x00 00000d46: PUSH2 0x0d62 00000d49: DUP3 00000d4a: PUSH2 0x0d53 00000d4d: PUSH1 0x00 00000d4f: PUSH2 0x2a47 00000d52: JUMP 00000d53: JUMPDEST 00000d54: PUSH2 0x0d5b 00000d57: PUSH2 0x0f45 00000d5a: JUMP 00000d5b: JUMPDEST 00000d5c: PUSH1 0x00 00000d5e: PUSH2 0x18b2 00000d61: JUMP 00000d62: JUMPDEST 00000d63: SWAP3 00000d64: SWAP2 00000d65: POP 00000d66: POP 00000d67: JUMP 00000d68: JUMPDEST 00000d69: PUSH1 0x40 00000d6b: MLOAD 00000d6c: PUSH4 0x0847f5ab 00000d71: PUSH1 0xe2 00000d73: SHL 00000d74: DUP2 00000d75: MSTORE 00000d76: PUSH1 0x02 00000d78: PUSH1 0x04 00000d7a: DUP3 00000d7b: ADD 00000d7c: MSTORE 00000d7d: PUSH1 0x01 00000d7f: PUSH1 0x01 00000d81: PUSH1 0xa0 00000d83: SHL 00000d84: SUB 00000d85: DUP4 00000d86: AND 00000d87: PUSH1 0x24 00000d89: DUP3 00000d8a: ADD 00000d8b: MSTORE 00000d8c: PUSH1 0x44 00000d8e: DUP2 00000d8f: ADD 00000d90: DUP3 00000d91: SWAP1 00000d92: MSTORE 00000d93: PUSH1 0x00 00000d95: SWAP1 00000d96: PUSH20 0x42699e483c5baa8e9aad5f7d804127c034a0328f 00000dab: SWAP1 00000dac: PUSH4 0x211fd6ac 00000db1: SWAP1 00000db2: PUSH1 0x64 00000db4: ADD 00000db5: JUMPDEST 00000db6: PUSH1 0x20 00000db8: PUSH1 0x40 00000dba: MLOAD 00000dbb: DUP1 00000dbc: DUP4 00000dbd: SUB 00000dbe: DUP2 00000dbf: DUP7 00000dc0: GAS 00000dc1: DELEGATECALL 00000dc2: ISZERO 00000dc3: DUP1 00000dc4: ISZERO 00000dc5: PUSH2 0x0dd2 00000dc8: JUMPI 00000dc9: RETURNDATASIZE 00000dca: PUSH1 0x00 00000dcc: DUP1 00000dcd: RETURNDATACOPY 00000dce: RETURNDATASIZE 00000dcf: PUSH1 0x00 00000dd1: REVERT 00000dd2: JUMPDEST 00000dd3: POP 00000dd4: POP 00000dd5: POP 00000dd6: POP 00000dd7: PUSH1 0x40 00000dd9: MLOAD 00000dda: RETURNDATASIZE 00000ddb: PUSH1 0x1f 00000ddd: NOT 00000dde: PUSH1 0x1f 00000de0: DUP3 00000de1: ADD 00000de2: AND 00000de3: DUP3 00000de4: ADD 00000de5: DUP1 00000de6: PUSH1 0x40 00000de8: MSTORE 00000de9: POP 00000dea: DUP2 00000deb: ADD 00000dec: SWAP1 00000ded: PUSH2 0x0df6 00000df0: SWAP2 00000df1: SWAP1 00000df2: PUSH2 0x4fdb 00000df5: JUMP 00000df6: JUMPDEST 00000df7: SWAP4 00000df8: SWAP3 00000df9: POP 00000dfa: POP 00000dfb: POP 00000dfc: JUMP 00000dfd: JUMPDEST 00000dfe: PUSH1 0x00 00000e00: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00000e15: PUSH4 0x443c0bff 00000e1a: PUSH1 0x01 00000e1c: DUP5 00000e1d: PUSH2 0x0e26 00000e20: PUSH1 0x02 00000e22: PUSH2 0x3b96 00000e25: JUMP 00000e26: JUMPDEST 00000e27: PUSH1 0x40 00000e29: DUP1 00000e2a: MLOAD 00000e2b: PUSH1 0x24 00000e2d: DUP1 00000e2e: DUP3 00000e2f: ADD 00000e30: DUP11 00000e31: SWAP1 00000e32: MSTORE 00000e33: DUP3 00000e34: MLOAD 00000e35: DUP1 00000e36: DUP4 00000e37: SUB 00000e38: SWAP1 00000e39: SWAP2 00000e3a: ADD 00000e3b: DUP2 00000e3c: MSTORE 00000e3d: PUSH1 0x44 00000e3f: SWAP1 00000e40: SWAP2 00000e41: ADD 00000e42: DUP3 00000e43: MSTORE 00000e44: PUSH1 0x20 00000e46: DUP2 00000e47: ADD 00000e48: DUP1 00000e49: MLOAD 00000e4a: PUSH1 0x01 00000e4c: PUSH1 0x01 00000e4e: PUSH1 0xe0 00000e50: SHL 00000e51: SUB 00000e52: AND 00000e53: PUSH4 0x0a28a477 00000e58: PUSH1 0xe0 00000e5a: SHL 00000e5b: OR 00000e5c: SWAP1 00000e5d: MSTORE 00000e5e: SWAP1 00000e5f: MLOAD 00000e60: PUSH1 0x01 00000e62: PUSH1 0x01 00000e64: PUSH1 0xe0 00000e66: SHL 00000e67: SUB 00000e68: NOT 00000e69: PUSH1 0xe0 00000e6b: DUP8 00000e6c: SWAP1 00000e6d: SHL 00000e6e: AND 00000e6f: DUP2 00000e70: MSTORE 00000e71: PUSH2 0x0e89 00000e74: SWAP5 00000e75: SWAP4 00000e76: SWAP3 00000e77: SWAP2 00000e78: SWAP1 00000e79: PUSH1 0x1e 00000e7b: SWAP1 00000e7c: PUSH1 0x0e 00000e7e: SWAP1 00000e7f: PUSH1 0x0c 00000e81: SWAP1 00000e82: PUSH1 0x04 00000e84: ADD 00000e85: PUSH2 0x4ff8 00000e88: JUMP 00000e89: JUMPDEST 00000e8a: PUSH1 0x40 00000e8c: DUP1 00000e8d: MLOAD 00000e8e: DUP1 00000e8f: DUP4 00000e90: SUB 00000e91: DUP2 00000e92: DUP7 00000e93: GAS 00000e94: DELEGATECALL 00000e95: ISZERO 00000e96: DUP1 00000e97: ISZERO 00000e98: PUSH2 0x0ea5 00000e9b: JUMPI 00000e9c: RETURNDATASIZE 00000e9d: PUSH1 0x00 00000e9f: DUP1 00000ea0: RETURNDATACOPY 00000ea1: RETURNDATASIZE 00000ea2: PUSH1 0x00 00000ea4: REVERT 00000ea5: JUMPDEST 00000ea6: POP 00000ea7: POP 00000ea8: POP 00000ea9: POP 00000eaa: PUSH1 0x40 00000eac: MLOAD 00000ead: RETURNDATASIZE 00000eae: PUSH1 0x1f 00000eb0: NOT 00000eb1: PUSH1 0x1f 00000eb3: DUP3 00000eb4: ADD 00000eb5: AND 00000eb6: DUP3 00000eb7: ADD 00000eb8: DUP1 00000eb9: PUSH1 0x40 00000ebb: MSTORE 00000ebc: POP 00000ebd: DUP2 00000ebe: ADD 00000ebf: SWAP1 00000ec0: PUSH2 0x0df6 00000ec3: SWAP2 00000ec4: SWAP1 00000ec5: PUSH2 0x503e 00000ec8: JUMP 00000ec9: JUMPDEST 00000eca: PUSH1 0x40 00000ecc: MLOAD 00000ecd: PUSH4 0x1f931289 00000ed2: PUSH1 0xe0 00000ed4: SHL 00000ed5: DUP2 00000ed6: MSTORE 00000ed7: PUSH1 0x0e 00000ed9: PUSH1 0x04 00000edb: DUP3 00000edc: ADD 00000edd: MSTORE 00000ede: PUSH1 0x60 00000ee0: SWAP1 00000ee1: PUSH20 0xf19c66cb159246e00b5336b1ce4b4e8e01e4e4b4 00000ef6: SWAP1 00000ef7: PUSH4 0x1f931289 00000efc: SWAP1 00000efd: PUSH1 0x24 00000eff: ADD 00000f00: JUMPDEST 00000f01: PUSH1 0x00 00000f03: PUSH1 0x40 00000f05: MLOAD 00000f06: DUP1 00000f07: DUP4 00000f08: SUB 00000f09: DUP2 00000f0a: DUP7 00000f0b: GAS 00000f0c: DELEGATECALL 00000f0d: ISZERO 00000f0e: DUP1 00000f0f: ISZERO 00000f10: PUSH2 0x0f1d 00000f13: JUMPI 00000f14: RETURNDATASIZE 00000f15: PUSH1 0x00 00000f17: DUP1 00000f18: RETURNDATACOPY 00000f19: RETURNDATASIZE 00000f1a: PUSH1 0x00 00000f1c: REVERT 00000f1d: JUMPDEST 00000f1e: POP 00000f1f: POP 00000f20: POP 00000f21: POP 00000f22: PUSH1 0x40 00000f24: MLOAD 00000f25: RETURNDATASIZE 00000f26: PUSH1 0x00 00000f28: DUP3 00000f29: RETURNDATACOPY 00000f2a: PUSH1 0x1f 00000f2c: RETURNDATASIZE 00000f2d: SWAP1 00000f2e: DUP2 00000f2f: ADD 00000f30: PUSH1 0x1f 00000f32: NOT 00000f33: AND 00000f34: DUP3 00000f35: ADD 00000f36: PUSH1 0x40 00000f38: MSTORE 00000f39: PUSH2 0x0cac 00000f3c: SWAP2 00000f3d: SWAP1 00000f3e: DUP2 00000f3f: ADD 00000f40: SWAP1 00000f41: PUSH2 0x506d 00000f44: JUMP 00000f45: JUMPDEST 00000f46: PUSH1 0x40 00000f48: MLOAD 00000f49: PUSH4 0x3a68b115 00000f4e: PUSH1 0xe1 00000f50: SHL 00000f51: DUP2 00000f52: MSTORE 00000f53: PUSH1 0x02 00000f55: PUSH1 0x04 00000f57: DUP3 00000f58: ADD 00000f59: MSTORE 00000f5a: PUSH1 0x12 00000f5c: PUSH1 0x24 00000f5e: DUP3 00000f5f: ADD 00000f60: MSTORE 00000f61: PUSH1 0x00 00000f63: SWAP1 00000f64: PUSH20 0x8709b88c5cbca830d63f726a6f6f8c6573486223 00000f79: SWAP1 00000f7a: PUSH4 0x74d1622a 00000f7f: SWAP1 00000f80: PUSH1 0x44 00000f82: ADD 00000f83: PUSH2 0x0c6b 00000f86: JUMP 00000f87: JUMPDEST 00000f88: PUSH2 0x0fb9 00000f8b: PUSH1 0x40 00000f8d: MLOAD 00000f8e: DUP1 00000f8f: PUSH1 0xa0 00000f91: ADD 00000f92: PUSH1 0x40 00000f94: MSTORE 00000f95: DUP1 00000f96: PUSH1 0x00 00000f98: DUP2 00000f99: MSTORE 00000f9a: PUSH1 0x20 00000f9c: ADD 00000f9d: PUSH1 0x00 00000f9f: DUP2 00000fa0: MSTORE 00000fa1: PUSH1 0x20 00000fa3: ADD 00000fa4: PUSH1 0x00 00000fa6: DUP2 00000fa7: MSTORE 00000fa8: PUSH1 0x20 00000faa: ADD 00000fab: PUSH1 0x00 00000fad: DUP2 00000fae: MSTORE 00000faf: PUSH1 0x20 00000fb1: ADD 00000fb2: PUSH1 0x00 00000fb4: DUP2 00000fb5: MSTORE 00000fb6: POP 00000fb7: SWAP1 00000fb8: JUMP 00000fb9: JUMPDEST 00000fba: POP 00000fbb: PUSH1 0x01 00000fbd: PUSH1 0x01 00000fbf: PUSH1 0xa0 00000fc1: SHL 00000fc2: SUB 00000fc3: AND 00000fc4: PUSH1 0x00 00000fc6: SWAP1 00000fc7: DUP2 00000fc8: MSTORE 00000fc9: PUSH1 0x0c 00000fcb: PUSH1 0x20 00000fcd: SWAP1 00000fce: DUP2 00000fcf: MSTORE 00000fd0: PUSH1 0x40 00000fd2: SWAP2 00000fd3: DUP3 00000fd4: SWAP1 00000fd5: KECCAK256 00000fd6: DUP3 00000fd7: MLOAD 00000fd8: PUSH1 0xa0 00000fda: DUP2 00000fdb: ADD 00000fdc: DUP5 00000fdd: MSTORE 00000fde: DUP2 00000fdf: SLOAD 00000fe0: DUP2 00000fe1: MSTORE 00000fe2: PUSH1 0x01 00000fe4: DUP3 00000fe5: ADD 00000fe6: SLOAD 00000fe7: SWAP3 00000fe8: DUP2 00000fe9: ADD 00000fea: SWAP3 00000feb: SWAP1 00000fec: SWAP3 00000fed: MSTORE 00000fee: PUSH1 0x02 00000ff0: DUP2 00000ff1: ADD 00000ff2: SLOAD 00000ff3: SWAP3 00000ff4: DUP3 00000ff5: ADD 00000ff6: SWAP3 00000ff7: SWAP1 00000ff8: SWAP3 00000ff9: MSTORE 00000ffa: PUSH1 0x03 00000ffc: DUP3 00000ffd: ADD 00000ffe: SLOAD 00000fff: PUSH1 0x60 00001001: DUP3 00001002: ADD 00001003: MSTORE 00001004: PUSH1 0x04 00001006: SWAP1 00001007: SWAP2 00001008: ADD 00001009: SLOAD 0000100a: PUSH1 0x80 0000100c: DUP3 0000100d: ADD 0000100e: MSTORE 0000100f: SWAP1 00001010: JUMP 00001011: JUMPDEST 00001012: PUSH1 0x60 00001014: PUSH2 0x0cac 00001017: PUSH1 0x22 00001019: PUSH2 0x3bd6 0000101c: JUMP 0000101d: JUMPDEST 0000101e: PUSH1 0x00 00001020: PUSH2 0x1027 00001023: PUSH2 0x3be3 00001026: JUMP 00001027: JUMPDEST 00001028: PUSH1 0x40 0000102a: MLOAD 0000102b: PUSH4 0xde8e7abd 00001030: PUSH1 0xe0 00001032: SHL 00001033: DUP2 00001034: MSTORE 00001035: PUSH1 0x02 00001037: PUSH1 0x04 00001039: DUP3 0000103a: ADD 0000103b: MSTORE 0000103c: PUSH1 0x01 0000103e: PUSH1 0x01 00001040: PUSH1 0xa0 00001042: SHL 00001043: SUB 00001044: DUP1 00001045: DUP7 00001046: AND 00001047: PUSH1 0x24 00001049: DUP4 0000104a: ADD 0000104b: MSTORE 0000104c: DUP5 0000104d: AND 0000104e: PUSH1 0x44 00001050: DUP3 00001051: ADD 00001052: MSTORE 00001053: PUSH1 0x64 00001055: DUP2 00001056: ADD 00001057: DUP4 00001058: SWAP1 00001059: MSTORE 0000105a: PUSH20 0x42699e483c5baa8e9aad5f7d804127c034a0328f 0000106f: SWAP1 00001070: PUSH4 0xde8e7abd 00001075: SWAP1 00001076: PUSH1 0x84 00001078: ADD 00001079: PUSH1 0x20 0000107b: PUSH1 0x40 0000107d: MLOAD 0000107e: DUP1 0000107f: DUP4 00001080: SUB 00001081: DUP2 00001082: DUP7 00001083: GAS 00001084: DELEGATECALL 00001085: ISZERO 00001086: DUP1 00001087: ISZERO 00001088: PUSH2 0x1095 0000108b: JUMPI 0000108c: RETURNDATASIZE 0000108d: PUSH1 0x00 0000108f: DUP1 00001090: RETURNDATACOPY 00001091: RETURNDATASIZE 00001092: PUSH1 0x00 00001094: REVERT 00001095: JUMPDEST 00001096: POP 00001097: POP 00001098: POP 00001099: POP 0000109a: PUSH1 0x40 0000109c: MLOAD 0000109d: RETURNDATASIZE 0000109e: PUSH1 0x1f 000010a0: NOT 000010a1: PUSH1 0x1f 000010a3: DUP3 000010a4: ADD 000010a5: AND 000010a6: DUP3 000010a7: ADD 000010a8: DUP1 000010a9: PUSH1 0x40 000010ab: MSTORE 000010ac: POP 000010ad: DUP2 000010ae: ADD 000010af: SWAP1 000010b0: PUSH2 0x10b9 000010b3: SWAP2 000010b4: SWAP1 000010b5: PUSH2 0x4fdb 000010b8: JUMP 000010b9: JUMPDEST 000010ba: SWAP5 000010bb: SWAP4 000010bc: POP 000010bd: POP 000010be: POP 000010bf: POP 000010c0: JUMP 000010c1: JUMPDEST 000010c2: PUSH1 0x00 000010c4: SLOAD 000010c5: PUSH2 0x0100 000010c8: SWAP1 000010c9: DIV 000010ca: PUSH1 0xff 000010cc: AND 000010cd: ISZERO 000010ce: DUP1 000010cf: DUP1 000010d0: ISZERO 000010d1: PUSH2 0x10e1 000010d4: JUMPI 000010d5: POP 000010d6: PUSH1 0x00 000010d8: SLOAD 000010d9: PUSH1 0x01 000010db: PUSH1 0xff 000010dd: SWAP1 000010de: SWAP2 000010df: AND 000010e0: LT 000010e1: JUMPDEST 000010e2: DUP1 000010e3: PUSH2 0x10fb 000010e6: JUMPI 000010e7: POP 000010e8: ADDRESS 000010e9: EXTCODESIZE 000010ea: ISZERO 000010eb: DUP1 000010ec: ISZERO 000010ed: PUSH2 0x10fb 000010f0: JUMPI 000010f1: POP 000010f2: PUSH1 0x00 000010f4: SLOAD 000010f5: PUSH1 0xff 000010f7: AND 000010f8: PUSH1 0x01 000010fa: EQ 000010fb: JUMPDEST 000010fc: PUSH2 0x1163 000010ff: JUMPI 00001100: PUSH1 0x40 00001102: MLOAD 00001103: PUSH3 0x461bcd 00001107: PUSH1 0xe5 00001109: SHL 0000110a: DUP2 0000110b: MSTORE 0000110c: PUSH1 0x20 0000110e: PUSH1 0x04 00001110: DUP3 00001111: ADD 00001112: MSTORE 00001113: PUSH1 0x2e 00001115: PUSH1 0x24 00001117: DUP3 00001118: ADD 00001119: MSTORE 0000111a: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 0000113b: PUSH1 0x44 0000113d: DUP3 0000113e: ADD 0000113f: MSTORE 00001140: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 0000114f: PUSH1 0x92 00001151: SHL 00001152: PUSH1 0x64 00001154: DUP3 00001155: ADD 00001156: MSTORE 00001157: PUSH1 0x84 00001159: ADD 0000115a: JUMPDEST 0000115b: PUSH1 0x40 0000115d: MLOAD 0000115e: DUP1 0000115f: SWAP2 00001160: SUB 00001161: SWAP1 00001162: REVERT 00001163: JUMPDEST 00001164: PUSH1 0x00 00001166: DUP1 00001167: SLOAD 00001168: PUSH1 0xff 0000116a: NOT 0000116b: AND 0000116c: PUSH1 0x01 0000116e: OR 0000116f: SWAP1 00001170: SSTORE 00001171: DUP1 00001172: ISZERO 00001173: PUSH2 0x1186 00001176: JUMPI 00001177: PUSH1 0x00 00001179: DUP1 0000117a: SLOAD 0000117b: PUSH2 0xff00 0000117e: NOT 0000117f: AND 00001180: PUSH2 0x0100 00001183: OR 00001184: SWAP1 00001185: SSTORE 00001186: JUMPDEST 00001187: PUSH2 0x11b4 0000118a: DUP5 0000118b: PUSH1 0x40 0000118d: MLOAD 0000118e: DUP1 0000118f: PUSH1 0x40 00001191: ADD 00001192: PUSH1 0x40 00001194: MSTORE 00001195: DUP1 00001196: PUSH1 0x0c 00001198: DUP2 00001199: MSTORE 0000119a: PUSH1 0x20 0000119c: ADD 0000119d: PUSH12 0x0e6f2dac4ded8a6eaccccd2f 000011aa: PUSH1 0xa3 000011ac: SHL 000011ad: DUP2 000011ae: MSTORE 000011af: POP 000011b0: PUSH2 0x3c0b 000011b3: JUMP 000011b4: JUMPDEST 000011b5: PUSH2 0x11e0 000011b8: DUP4 000011b9: PUSH1 0x40 000011bb: MLOAD 000011bc: DUP1 000011bd: PUSH1 0x40 000011bf: ADD 000011c0: PUSH1 0x40 000011c2: MSTORE 000011c3: DUP1 000011c4: PUSH1 0x0a 000011c6: DUP2 000011c7: MSTORE 000011c8: PUSH1 0x20 000011ca: ADD 000011cb: PUSH10 0x0c8cae6c6a0e4caccd2f 000011d6: PUSH1 0xb3 000011d8: SHL 000011d9: DUP2 000011da: MSTORE 000011db: POP 000011dc: PUSH2 0x3c0b 000011df: JUMP 000011e0: JUMPDEST 000011e1: PUSH2 0x121f 000011e4: DUP6 000011e5: PUSH1 0x40 000011e7: MLOAD 000011e8: DUP1 000011e9: PUSH1 0x40 000011eb: ADD 000011ec: PUSH1 0x40 000011ee: MSTORE 000011ef: DUP1 000011f0: PUSH1 0x17 000011f2: DUP2 000011f3: MSTORE 000011f4: PUSH1 0x20 000011f6: ADD 000011f7: PUSH32 0x6175746f506f6f6c537472617465677941646472657373000000000000000000 00001218: DUP2 00001219: MSTORE 0000121a: POP 0000121b: PUSH2 0x3b69 0000121e: JUMP 0000121f: JUMPDEST 00001220: PUSH1 0x24 00001222: DUP1 00001223: SLOAD 00001224: PUSH1 0x01 00001226: PUSH1 0x01 00001228: PUSH1 0xa0 0000122a: SHL 0000122b: SUB 0000122c: NOT 0000122d: AND 0000122e: CALLER 0000122f: OR 00001230: SWAP1 00001231: SSTORE 00001232: PUSH1 0x07 00001234: PUSH2 0x123d 00001237: DUP6 00001238: DUP3 00001239: PUSH2 0x5169 0000123c: JUMP 0000123d: JUMPDEST 0000123e: POP 0000123f: PUSH1 0x06 00001241: PUSH2 0x124a 00001244: DUP5 00001245: DUP3 00001246: PUSH2 0x5169 00001249: JUMP 0000124a: JUMPDEST 0000124b: POP 0000124c: PUSH1 0x40 0000124e: MLOAD 0000124f: PUSH4 0x6ac5b383 00001254: PUSH1 0xe0 00001256: SHL 00001257: DUP2 00001258: MSTORE 00001259: PUSH1 0x14 0000125b: PUSH1 0x04 0000125d: DUP3 0000125e: ADD 0000125f: MSTORE 00001260: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 00001275: SWAP1 00001276: PUSH4 0x6ac5b383 0000127b: SWAP1 0000127c: PUSH1 0x24 0000127e: ADD 0000127f: PUSH1 0x00 00001281: PUSH1 0x40 00001283: MLOAD 00001284: DUP1 00001285: DUP4 00001286: SUB 00001287: DUP2 00001288: DUP7 00001289: DUP1 0000128a: EXTCODESIZE 0000128b: ISZERO 0000128c: DUP1 0000128d: ISZERO 0000128e: PUSH2 0x1296 00001291: JUMPI 00001292: PUSH1 0x00 00001294: DUP1 00001295: REVERT 00001296: JUMPDEST 00001297: POP 00001298: GAS 00001299: DELEGATECALL 0000129a: ISZERO 0000129b: DUP1 0000129c: ISZERO 0000129d: PUSH2 0x12aa 000012a0: JUMPI 000012a1: RETURNDATASIZE 000012a2: PUSH1 0x00 000012a4: DUP1 000012a5: RETURNDATACOPY 000012a6: RETURNDATASIZE 000012a7: PUSH1 0x00 000012a9: REVERT 000012aa: JUMPDEST 000012ab: POP 000012ac: POP 000012ad: PUSH1 0x26 000012af: DUP1 000012b0: SLOAD 000012b1: PUSH1 0x01 000012b3: PUSH1 0x01 000012b5: PUSH1 0xa0 000012b7: SHL 000012b8: SUB 000012b9: NOT 000012ba: AND 000012bb: PUSH1 0x01 000012bd: PUSH1 0x01 000012bf: PUSH1 0xa0 000012c1: SHL 000012c2: SUB 000012c3: DUP10 000012c4: AND 000012c5: OR 000012c6: SWAP1 000012c7: SSTORE 000012c8: POP 000012c9: PUSH1 0x00 000012cb: SWAP1 000012cc: POP 000012cd: PUSH2 0x12db 000012d0: PUSH3 0x0186a0 000012d4: PUSH2 0xdead 000012d7: PUSH2 0x20a0 000012da: JUMP 000012db: JUMPDEST 000012dc: SWAP1 000012dd: POP 000012de: PUSH3 0x0186a0 000012e2: DUP2 000012e3: EQ 000012e4: PUSH2 0x130c 000012e7: JUMPI 000012e8: PUSH1 0x40 000012ea: MLOAD 000012eb: PUSH4 0x09469bc1 000012f0: PUSH1 0xe2 000012f2: SHL 000012f3: DUP2 000012f4: MSTORE 000012f5: PUSH3 0x0186a0 000012f9: PUSH1 0x04 000012fb: DUP3 000012fc: ADD 000012fd: MSTORE 000012fe: PUSH1 0x24 00001300: DUP2 00001301: ADD 00001302: DUP3 00001303: SWAP1 00001304: MSTORE 00001305: PUSH1 0x44 00001307: ADD 00001308: PUSH2 0x115a 0000130b: JUMP 0000130c: JUMPDEST 0000130d: PUSH1 0x40 0000130f: MLOAD 00001310: PUSH4 0x25f37153 00001315: PUSH1 0xe0 00001317: SHL 00001318: DUP2 00001319: MSTORE 0000131a: PUSH1 0x12 0000131c: PUSH1 0x04 0000131e: DUP3 0000131f: ADD 00001320: MSTORE 00001321: PUSH1 0x02 00001323: PUSH1 0x24 00001325: DUP3 00001326: ADD 00001327: MSTORE 00001328: PUSH3 0x015180 0000132c: PUSH1 0x44 0000132e: DUP3 0000132f: ADD 00001330: MSTORE 00001331: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 00001346: SWAP1 00001347: PUSH4 0x25f37153 0000134c: SWAP1 0000134d: PUSH1 0x64 0000134f: ADD 00001350: PUSH1 0x00 00001352: PUSH1 0x40 00001354: MLOAD 00001355: DUP1 00001356: DUP4 00001357: SUB 00001358: DUP2 00001359: DUP7 0000135a: DUP1 0000135b: EXTCODESIZE 0000135c: ISZERO 0000135d: DUP1 0000135e: ISZERO 0000135f: PUSH2 0x1367 00001362: JUMPI 00001363: PUSH1 0x00 00001365: DUP1 00001366: REVERT 00001367: JUMPDEST 00001368: POP 00001369: GAS 0000136a: DELEGATECALL 0000136b: ISZERO 0000136c: DUP1 0000136d: ISZERO 0000136e: PUSH2 0x137b 00001371: JUMPI 00001372: RETURNDATASIZE 00001373: PUSH1 0x00 00001375: DUP1 00001376: RETURNDATACOPY 00001377: RETURNDATASIZE 00001378: PUSH1 0x00 0000137a: REVERT 0000137b: JUMPDEST 0000137c: POP 0000137d: POP 0000137e: POP 0000137f: POP 00001380: POP 00001381: DUP1 00001382: ISZERO 00001383: PUSH2 0x13c6 00001386: JUMPI 00001387: PUSH1 0x00 00001389: DUP1 0000138a: SLOAD 0000138b: PUSH2 0xff00 0000138e: NOT 0000138f: AND 00001390: SWAP1 00001391: SSTORE 00001392: PUSH1 0x40 00001394: MLOAD 00001395: PUSH1 0x01 00001397: DUP2 00001398: MSTORE 00001399: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 000013ba: SWAP1 000013bb: PUSH1 0x20 000013bd: ADD 000013be: PUSH1 0x40 000013c0: MLOAD 000013c1: DUP1 000013c2: SWAP2 000013c3: SUB 000013c4: SWAP1 000013c5: LOG1 000013c6: JUMPDEST 000013c7: POP 000013c8: POP 000013c9: POP 000013ca: POP 000013cb: POP 000013cc: JUMP 000013cd: JUMPDEST 000013ce: PUSH1 0x40 000013d0: MLOAD 000013d1: PUSH4 0x24745215 000013d6: PUSH1 0xe2 000013d8: SHL 000013d9: DUP2 000013da: MSTORE 000013db: PUSH32 0x29f066ba98b1de62c9c969c781ec5d316c4e96752461c65aa1a1f8b71b818955 000013fc: SWAP1 000013fd: PUSH1 0x01 000013ff: PUSH1 0x01 00001401: PUSH1 0xa0 00001403: SHL 00001404: SUB 00001405: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00001426: AND 00001427: SWAP1 00001428: PUSH4 0x91d14854 0000142d: SWAP1 0000142e: PUSH2 0x143d 00001431: SWAP1 00001432: DUP5 00001433: SWAP1 00001434: CALLER 00001435: SWAP1 00001436: PUSH1 0x04 00001438: ADD 00001439: PUSH2 0x5228 0000143c: JUMP 0000143d: JUMPDEST 0000143e: PUSH1 0x20 00001440: PUSH1 0x40 00001442: MLOAD 00001443: DUP1 00001444: DUP4 00001445: SUB 00001446: DUP2 00001447: DUP7 00001448: GAS 00001449: STATICCALL 0000144a: ISZERO 0000144b: DUP1 0000144c: ISZERO 0000144d: PUSH2 0x145a 00001450: JUMPI 00001451: RETURNDATASIZE 00001452: PUSH1 0x00 00001454: DUP1 00001455: RETURNDATACOPY 00001456: RETURNDATASIZE 00001457: PUSH1 0x00 00001459: REVERT 0000145a: JUMPDEST 0000145b: POP 0000145c: POP 0000145d: POP 0000145e: POP 0000145f: PUSH1 0x40 00001461: MLOAD 00001462: RETURNDATASIZE 00001463: PUSH1 0x1f 00001465: NOT 00001466: PUSH1 0x1f 00001468: DUP3 00001469: ADD 0000146a: AND 0000146b: DUP3 0000146c: ADD 0000146d: DUP1 0000146e: PUSH1 0x40 00001470: MSTORE 00001471: POP 00001472: DUP2 00001473: ADD 00001474: SWAP1 00001475: PUSH2 0x147e 00001478: SWAP2 00001479: SWAP1 0000147a: PUSH2 0x4fdb 0000147d: JUMP 0000147e: JUMPDEST 0000147f: PUSH2 0x149b 00001482: JUMPI 00001483: PUSH1 0x40 00001485: MLOAD 00001486: PUSH4 0x4ca88867 0000148b: PUSH1 0xe0 0000148d: SHL 0000148e: DUP2 0000148f: MSTORE 00001490: PUSH1 0x04 00001492: ADD 00001493: PUSH1 0x40 00001495: MLOAD 00001496: DUP1 00001497: SWAP2 00001498: SUB 00001499: SWAP1 0000149a: REVERT 0000149b: JUMPDEST 0000149c: PUSH1 0x00 0000149e: DUP3 0000149f: PUSH1 0x02 000014a1: DUP2 000014a2: GT 000014a3: ISZERO 000014a4: PUSH2 0x14af 000014a7: JUMPI 000014a8: PUSH2 0x14af 000014ab: PUSH2 0x4ad6 000014ae: JUMP 000014af: JUMPDEST 000014b0: SUB 000014b1: PUSH2 0x14cf 000014b4: JUMPI 000014b5: DUP2 000014b6: PUSH1 0x40 000014b8: MLOAD 000014b9: PUSH4 0x2b356531 000014be: PUSH1 0xe2 000014c0: SHL 000014c1: DUP2 000014c2: MSTORE 000014c3: PUSH1 0x04 000014c5: ADD 000014c6: PUSH2 0x115a 000014c9: SWAP2 000014ca: SWAP1 000014cb: PUSH2 0x4b0a 000014ce: JUMP 000014cf: JUMPDEST 000014d0: PUSH1 0x0d 000014d2: DUP1 000014d3: SLOAD 000014d4: PUSH1 0x01 000014d6: PUSH1 0xff 000014d8: NOT 000014d9: DUP3 000014da: AND 000014db: DUP2 000014dc: OR 000014dd: DUP4 000014de: SSTORE 000014df: DUP5 000014e0: SWAP3 000014e1: SWAP2 000014e2: PUSH2 0xffff 000014e5: NOT 000014e6: AND 000014e7: OR 000014e8: PUSH2 0x0100 000014eb: DUP4 000014ec: PUSH1 0x02 000014ee: DUP2 000014ef: GT 000014f0: ISZERO 000014f1: PUSH2 0x14fc 000014f4: JUMPI 000014f5: PUSH2 0x14fc 000014f8: PUSH2 0x4ad6 000014fb: JUMP 000014fc: JUMPDEST 000014fd: MUL 000014fe: OR 000014ff: SWAP1 00001500: SSTORE 00001501: POP 00001502: PUSH32 0xc85216bd9ad96664f2f809d1ac5ee9868b286dd7374145090ee1b669a8f39cc9 00001523: DUP3 00001524: PUSH1 0x40 00001526: MLOAD 00001527: PUSH2 0x1530 0000152a: SWAP2 0000152b: SWAP1 0000152c: PUSH2 0x4b0a 0000152f: JUMP 00001530: JUMPDEST 00001531: PUSH1 0x40 00001533: MLOAD 00001534: DUP1 00001535: SWAP2 00001536: SUB 00001537: SWAP1 00001538: LOG1 00001539: POP 0000153a: POP 0000153b: JUMP 0000153c: JUMPDEST 0000153d: PUSH2 0x15a6 00001540: PUSH1 0x40 00001542: MLOAD 00001543: DUP1 00001544: PUSH2 0x0140 00001547: ADD 00001548: PUSH1 0x40 0000154a: MSTORE 0000154b: DUP1 0000154c: PUSH1 0x00 0000154e: PUSH1 0x01 00001550: PUSH1 0x01 00001552: PUSH1 0xa0 00001554: SHL 00001555: SUB 00001556: AND 00001557: DUP2 00001558: MSTORE 00001559: PUSH1 0x20 0000155b: ADD 0000155c: PUSH1 0x00 0000155e: DUP2 0000155f: MSTORE 00001560: PUSH1 0x20 00001562: ADD 00001563: PUSH1 0x00 00001565: DUP2 00001566: MSTORE 00001567: PUSH1 0x20 00001569: ADD 0000156a: PUSH1 0x00 0000156c: DUP2 0000156d: MSTORE 0000156e: PUSH1 0x20 00001570: ADD 00001571: PUSH1 0x00 00001573: PUSH1 0x01 00001575: PUSH1 0x01 00001577: PUSH1 0xa0 00001579: SHL 0000157a: SUB 0000157b: AND 0000157c: DUP2 0000157d: MSTORE 0000157e: PUSH1 0x20 00001580: ADD 00001581: PUSH1 0x00 00001583: DUP2 00001584: MSTORE 00001585: PUSH1 0x20 00001587: ADD 00001588: PUSH1 0x00 0000158a: DUP2 0000158b: MSTORE 0000158c: PUSH1 0x20 0000158e: ADD 0000158f: PUSH1 0x00 00001591: DUP2 00001592: MSTORE 00001593: PUSH1 0x20 00001595: ADD 00001596: PUSH1 0x00 00001598: DUP2 00001599: MSTORE 0000159a: PUSH1 0x20 0000159c: ADD 0000159d: PUSH1 0x00 0000159f: ISZERO 000015a0: ISZERO 000015a1: DUP2 000015a2: MSTORE 000015a3: POP 000015a4: SWAP1 000015a5: JUMP 000015a6: JUMPDEST 000015a7: POP 000015a8: PUSH1 0x40 000015aa: DUP1 000015ab: MLOAD 000015ac: PUSH2 0x0140 000015af: DUP2 000015b0: ADD 000015b1: DUP3 000015b2: MSTORE 000015b3: PUSH1 0x14 000015b5: SLOAD 000015b6: PUSH1 0x01 000015b8: PUSH1 0x01 000015ba: PUSH1 0xa0 000015bc: SHL 000015bd: SUB 000015be: SWAP1 000015bf: DUP2 000015c0: AND 000015c1: DUP3 000015c2: MSTORE 000015c3: PUSH1 0x15 000015c5: SLOAD 000015c6: PUSH1 0x20 000015c8: DUP4 000015c9: ADD 000015ca: MSTORE 000015cb: PUSH1 0x16 000015cd: SLOAD 000015ce: SWAP3 000015cf: DUP3 000015d0: ADD 000015d1: SWAP3 000015d2: SWAP1 000015d3: SWAP3 000015d4: MSTORE 000015d5: PUSH1 0x17 000015d7: SLOAD 000015d8: PUSH1 0x60 000015da: DUP3 000015db: ADD 000015dc: MSTORE 000015dd: PUSH1 0x18 000015df: SLOAD 000015e0: SWAP1 000015e1: SWAP2 000015e2: AND 000015e3: PUSH1 0x80 000015e5: DUP3 000015e6: ADD 000015e7: MSTORE 000015e8: PUSH1 0x19 000015ea: SLOAD 000015eb: PUSH1 0xa0 000015ed: DUP3 000015ee: ADD 000015ef: MSTORE 000015f0: PUSH1 0x1a 000015f2: SLOAD 000015f3: PUSH1 0xc0 000015f5: DUP3 000015f6: ADD 000015f7: MSTORE 000015f8: PUSH1 0x1b 000015fa: SLOAD 000015fb: PUSH1 0xe0 000015fd: DUP3 000015fe: ADD 000015ff: MSTORE 00001600: PUSH1 0x1c 00001602: SLOAD 00001603: PUSH2 0x0100 00001606: DUP3 00001607: ADD 00001608: MSTORE 00001609: PUSH1 0x1d 0000160b: SLOAD 0000160c: PUSH1 0xff 0000160e: AND 0000160f: ISZERO 00001610: ISZERO 00001611: PUSH2 0x0120 00001614: DUP3 00001615: ADD 00001616: MSTORE 00001617: SWAP1 00001618: JUMP 00001619: JUMPDEST 0000161a: PUSH1 0x24 0000161c: SLOAD 0000161d: PUSH1 0x01 0000161f: PUSH1 0x01 00001621: PUSH1 0xa0 00001623: SHL 00001624: SUB 00001625: AND 00001626: CALLER 00001627: EQ 00001628: DUP1 00001629: ISZERO 0000162a: SWAP1 0000162b: PUSH2 0x165b 0000162e: JUMPI 0000162f: POP 00001630: PUSH2 0x1659 00001633: PUSH32 0xfde2f69a846a71295e563d91ade82dc70e9eda278403d1aece24d0ded949403a 00001654: CALLER 00001655: PUSH2 0x3c2f 00001658: JUMP 00001659: JUMPDEST 0000165a: ISZERO 0000165b: JUMPDEST 0000165c: ISZERO 0000165d: PUSH2 0x1679 00001660: JUMPI 00001661: PUSH1 0x40 00001663: MLOAD 00001664: PUSH4 0x4ca88867 00001669: PUSH1 0xe0 0000166b: SHL 0000166c: DUP2 0000166d: MSTORE 0000166e: PUSH1 0x04 00001670: ADD 00001671: PUSH1 0x40 00001673: MLOAD 00001674: DUP1 00001675: SWAP2 00001676: SUB 00001677: SWAP1 00001678: REVERT 00001679: JUMPDEST 0000167a: PUSH2 0x16a3 0000167d: DUP2 0000167e: PUSH1 0x40 00001680: MLOAD 00001681: DUP1 00001682: PUSH1 0x40 00001684: ADD 00001685: PUSH1 0x40 00001687: MSTORE 00001688: DUP1 00001689: PUSH1 0x08 0000168b: DUP2 0000168c: MSTORE 0000168d: PUSH1 0x20 0000168f: ADD 00001690: PUSH8 0x3932bbb0b93232b9 00001699: PUSH1 0xc1 0000169b: SHL 0000169c: DUP2 0000169d: MSTORE 0000169e: POP 0000169f: PUSH2 0x3b69 000016a2: JUMP 000016a3: JUMPDEST 000016a4: PUSH1 0x25 000016a6: SLOAD 000016a7: PUSH1 0x01 000016a9: PUSH1 0x01 000016ab: PUSH1 0xa0 000016ad: SHL 000016ae: SUB 000016af: AND 000016b0: PUSH2 0x16ba 000016b3: PUSH1 0x22 000016b5: DUP4 000016b6: PUSH2 0x3c9d 000016b9: JUMP 000016ba: JUMPDEST 000016bb: DUP1 000016bc: PUSH2 0x16d6 000016bf: JUMPI 000016c0: POP 000016c1: DUP2 000016c2: PUSH1 0x01 000016c4: PUSH1 0x01 000016c6: PUSH1 0xa0 000016c8: SHL 000016c9: SUB 000016ca: AND 000016cb: DUP2 000016cc: PUSH1 0x01 000016ce: PUSH1 0x01 000016d0: PUSH1 0xa0 000016d2: SHL 000016d3: SUB 000016d4: AND 000016d5: EQ 000016d6: JUMPDEST 000016d7: ISZERO 000016d8: PUSH2 0x16f4 000016db: JUMPI 000016dc: PUSH1 0x40 000016de: MLOAD 000016df: PUSH4 0x3e04f871 000016e4: PUSH1 0xe0 000016e6: SHL 000016e7: DUP2 000016e8: MSTORE 000016e9: PUSH1 0x04 000016eb: ADD 000016ec: PUSH1 0x40 000016ee: MLOAD 000016ef: DUP1 000016f0: SWAP2 000016f1: SUB 000016f2: SWAP1 000016f3: REVERT 000016f4: JUMPDEST 000016f5: PUSH1 0x01 000016f7: PUSH1 0x01 000016f9: PUSH1 0xa0 000016fb: SHL 000016fc: SUB 000016fd: DUP2 000016fe: AND 000016ff: ISZERO 00001700: PUSH2 0x1710 00001703: JUMPI 00001704: PUSH2 0x170e 00001707: PUSH1 0x22 00001709: DUP3 0000170a: PUSH2 0x3cbf 0000170d: JUMP 0000170e: JUMPDEST 0000170f: POP 00001710: JUMPDEST 00001711: PUSH1 0x25 00001713: DUP1 00001714: SLOAD 00001715: PUSH1 0x01 00001717: PUSH1 0x01 00001719: PUSH1 0xa0 0000171b: SHL 0000171c: SUB 0000171d: NOT 0000171e: AND 0000171f: PUSH1 0x01 00001721: PUSH1 0x01 00001723: PUSH1 0xa0 00001725: SHL 00001726: SUB 00001727: DUP5 00001728: DUP2 00001729: AND 0000172a: SWAP2 0000172b: DUP3 0000172c: OR 0000172d: SWAP1 0000172e: SWAP3 0000172f: SSTORE 00001730: PUSH1 0x40 00001732: DUP1 00001733: MLOAD 00001734: SWAP2 00001735: DUP3 00001736: MSTORE 00001737: SWAP2 00001738: DUP4 00001739: AND 0000173a: PUSH1 0x20 0000173c: DUP3 0000173d: ADD 0000173e: MSTORE 0000173f: PUSH32 0xbc338ad631c3856fd03e151bfc793b4f06d8b3ab462a4e631b5faf33cc4d86ba 00001760: SWAP2 00001761: ADD 00001762: PUSH2 0x1530 00001765: JUMP 00001766: JUMPDEST 00001767: PUSH1 0x40 00001769: MLOAD 0000176a: PUSH4 0x24745215 0000176f: PUSH1 0xe2 00001771: SHL 00001772: DUP2 00001773: MSTORE 00001774: PUSH1 0x01 00001776: PUSH1 0x01 00001778: PUSH1 0xa0 0000177a: SHL 0000177b: SUB 0000177c: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 0000179d: AND 0000179e: SWAP1 0000179f: PUSH4 0x91d14854 000017a4: SWAP1 000017a5: PUSH2 0x17d4 000017a8: SWAP1 000017a9: PUSH32 0x62c67cb852e451f36ab720db75ef4514bb68a3897d1a5c81c9a83b7c98000a73 000017ca: SWAP1 000017cb: CALLER 000017cc: SWAP1 000017cd: PUSH1 0x04 000017cf: ADD 000017d0: PUSH2 0x5228 000017d3: JUMP 000017d4: JUMPDEST 000017d5: PUSH1 0x20 000017d7: PUSH1 0x40 000017d9: MLOAD 000017da: DUP1 000017db: DUP4 000017dc: SUB 000017dd: DUP2 000017de: DUP7 000017df: GAS 000017e0: STATICCALL 000017e1: ISZERO 000017e2: DUP1 000017e3: ISZERO 000017e4: PUSH2 0x17f1 000017e7: JUMPI 000017e8: RETURNDATASIZE 000017e9: PUSH1 0x00 000017eb: DUP1 000017ec: RETURNDATACOPY 000017ed: RETURNDATASIZE 000017ee: PUSH1 0x00 000017f0: REVERT 000017f1: JUMPDEST 000017f2: POP 000017f3: POP 000017f4: POP 000017f5: POP 000017f6: PUSH1 0x40 000017f8: MLOAD 000017f9: RETURNDATASIZE 000017fa: PUSH1 0x1f 000017fc: NOT 000017fd: PUSH1 0x1f 000017ff: DUP3 00001800: ADD 00001801: AND 00001802: DUP3 00001803: ADD 00001804: DUP1 00001805: PUSH1 0x40 00001807: MSTORE 00001808: POP 00001809: DUP2 0000180a: ADD 0000180b: SWAP1 0000180c: PUSH2 0x1815 0000180f: SWAP2 00001810: SWAP1 00001811: PUSH2 0x4fdb 00001814: JUMP 00001815: JUMPDEST 00001816: PUSH2 0x1832 00001819: JUMPI 0000181a: PUSH1 0x40 0000181c: MLOAD 0000181d: PUSH4 0x4ca88867 00001822: PUSH1 0xe0 00001824: SHL 00001825: DUP2 00001826: MSTORE 00001827: PUSH1 0x04 00001829: ADD 0000182a: PUSH1 0x40 0000182c: MLOAD 0000182d: DUP1 0000182e: SWAP2 0000182f: SUB 00001830: SWAP1 00001831: REVERT 00001832: JUMPDEST 00001833: PUSH1 0x00 00001835: SLOAD 00001836: PUSH3 0x010000 0000183a: SWAP1 0000183b: DIV 0000183c: PUSH1 0xff 0000183e: AND 0000183f: PUSH2 0x185b 00001842: JUMPI 00001843: PUSH1 0x40 00001845: MLOAD 00001846: PUSH4 0xbc871ce5 0000184b: PUSH1 0xe0 0000184d: SHL 0000184e: DUP2 0000184f: MSTORE 00001850: PUSH1 0x04 00001852: ADD 00001853: PUSH1 0x40 00001855: MLOAD 00001856: DUP1 00001857: SWAP2 00001858: SUB 00001859: SWAP1 0000185a: REVERT 0000185b: JUMPDEST 0000185c: PUSH1 0x00 0000185e: DUP1 0000185f: SLOAD 00001860: PUSH3 0xff0000 00001864: NOT 00001865: AND 00001866: SWAP1 00001867: SSTORE 00001868: PUSH1 0x40 0000186a: MLOAD 0000186b: CALLER 0000186c: DUP2 0000186d: MSTORE 0000186e: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 0000188f: SWAP1 00001890: PUSH1 0x20 00001892: ADD 00001893: JUMPDEST 00001894: PUSH1 0x40 00001896: MLOAD 00001897: DUP1 00001898: SWAP2 00001899: SUB 0000189a: SWAP1 0000189b: LOG1 0000189c: JUMP 0000189d: JUMPDEST 0000189e: PUSH1 0x00 000018a0: PUSH2 0x0d62 000018a3: DUP3 000018a4: PUSH2 0x18ad 000018a7: PUSH1 0x01 000018a9: PUSH2 0x3b96 000018ac: JUMP 000018ad: JUMPDEST 000018ae: PUSH2 0x3cd4 000018b1: JUMP 000018b2: JUMPDEST 000018b3: PUSH1 0x00 000018b5: DUP3 000018b6: ISZERO 000018b7: PUSH2 0x18cb 000018ba: JUMPI 000018bb: PUSH2 0x18c6 000018be: DUP6 000018bf: DUP6 000018c0: DUP6 000018c1: DUP6 000018c2: PUSH2 0x3ceb 000018c5: JUMP 000018c6: JUMPDEST 000018c7: PUSH2 0x18cd 000018ca: JUMP 000018cb: JUMPDEST 000018cc: DUP5 000018cd: JUMPDEST 000018ce: SWAP6 000018cf: SWAP5 000018d0: POP 000018d1: POP 000018d2: POP 000018d3: POP 000018d4: POP 000018d5: JUMP 000018d6: JUMPDEST 000018d7: PUSH1 0x00 000018d9: DUP1 000018da: DUP1 000018db: ADDRESS 000018dc: CALLER 000018dd: SUB 000018de: PUSH2 0x18fd 000018e1: JUMPI 000018e2: PUSH2 0x18eb 000018e5: PUSH1 0x02 000018e7: PUSH2 0x3b96 000018ea: JUMP 000018eb: JUMPDEST 000018ec: SWAP2 000018ed: POP 000018ee: PUSH2 0x18fa 000018f1: DUP5 000018f2: DUP4 000018f3: PUSH2 0x0d5b 000018f6: PUSH2 0x0f45 000018f9: JUMP 000018fa: JUMPDEST 000018fb: SWAP1 000018fc: POP 000018fd: JUMPDEST 000018fe: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00001913: PUSH4 0x443c0bff 00001918: PUSH1 0x00 0000191a: DUP4 0000191b: DUP6 0000191c: ADDRESS 0000191d: PUSH1 0x01 0000191f: PUSH1 0x01 00001921: PUSH1 0xa0 00001923: SHL 00001924: SUB 00001925: AND 00001926: PUSH4 0x4cdad506 0000192b: DUP11 0000192c: PUSH1 0x40 0000192e: MLOAD 0000192f: PUSH1 0x24 00001931: ADD 00001932: PUSH2 0x193d 00001935: SWAP2 00001936: DUP2 00001937: MSTORE 00001938: PUSH1 0x20 0000193a: ADD 0000193b: SWAP1 0000193c: JUMP 0000193d: JUMPDEST 0000193e: PUSH1 0x40 00001940: DUP1 00001941: MLOAD 00001942: DUP1 00001943: DUP4 00001944: SUB 00001945: PUSH1 0x1f 00001947: NOT 00001948: ADD 00001949: DUP2 0000194a: MSTORE 0000194b: SWAP2 0000194c: DUP2 0000194d: MSTORE 0000194e: PUSH1 0x20 00001950: DUP3 00001951: ADD 00001952: DUP1 00001953: MLOAD 00001954: PUSH1 0xe0 00001956: SWAP5 00001957: DUP6 00001958: SHL 00001959: PUSH1 0x01 0000195b: PUSH1 0x01 0000195d: PUSH1 0xe0 0000195f: SHL 00001960: SUB 00001961: SWAP1 00001962: SWAP2 00001963: AND 00001964: OR 00001965: SWAP1 00001966: MSTORE 00001967: MLOAD 00001968: SWAP2 00001969: DUP8 0000196a: SWAP1 0000196b: SHL 0000196c: PUSH1 0x01 0000196e: PUSH1 0x01 00001970: PUSH1 0xe0 00001972: SHL 00001973: SUB 00001974: NOT 00001975: AND 00001976: DUP3 00001977: MSTORE 00001978: PUSH2 0x1991 0000197b: SWAP6 0000197c: SWAP5 0000197d: SWAP4 0000197e: SWAP3 0000197f: POP 00001980: SWAP1 00001981: PUSH1 0x1e 00001983: SWAP1 00001984: PUSH1 0x0e 00001986: SWAP1 00001987: PUSH1 0x0c 00001989: SWAP1 0000198a: PUSH1 0x04 0000198c: ADD 0000198d: PUSH2 0x4ff8 00001990: JUMP 00001991: JUMPDEST 00001992: PUSH1 0x40 00001994: DUP1 00001995: MLOAD 00001996: DUP1 00001997: DUP4 00001998: SUB 00001999: DUP2 0000199a: DUP7 0000199b: GAS 0000199c: DELEGATECALL 0000199d: ISZERO 0000199e: DUP1 0000199f: ISZERO 000019a0: PUSH2 0x19ad 000019a3: JUMPI 000019a4: RETURNDATASIZE 000019a5: PUSH1 0x00 000019a7: DUP1 000019a8: RETURNDATACOPY 000019a9: RETURNDATASIZE 000019aa: PUSH1 0x00 000019ac: REVERT 000019ad: JUMPDEST 000019ae: POP 000019af: POP 000019b0: POP 000019b1: POP 000019b2: PUSH1 0x40 000019b4: MLOAD 000019b5: RETURNDATASIZE 000019b6: PUSH1 0x1f 000019b8: NOT 000019b9: PUSH1 0x1f 000019bb: DUP3 000019bc: ADD 000019bd: AND 000019be: DUP3 000019bf: ADD 000019c0: DUP1 000019c1: PUSH1 0x40 000019c3: MSTORE 000019c4: POP 000019c5: DUP2 000019c6: ADD 000019c7: SWAP1 000019c8: PUSH2 0x19d1 000019cb: SWAP2 000019cc: SWAP1 000019cd: PUSH2 0x503e 000019d0: JUMP 000019d1: JUMPDEST 000019d2: POP 000019d3: SWAP5 000019d4: SWAP4 000019d5: POP 000019d6: POP 000019d7: POP 000019d8: POP 000019d9: JUMP 000019da: JUMPDEST 000019db: PUSH1 0x40 000019dd: MLOAD 000019de: PUSH4 0x342a534b 000019e3: PUSH1 0xe2 000019e5: SHL 000019e6: DUP2 000019e7: MSTORE 000019e8: PUSH1 0x10 000019ea: PUSH1 0x04 000019ec: DUP3 000019ed: ADD 000019ee: MSTORE 000019ef: PUSH1 0x00 000019f1: SWAP1 000019f2: DUP2 000019f3: SWAP1 000019f4: PUSH20 0xf19c66cb159246e00b5336b1ce4b4e8e01e4e4b4 00001a09: SWAP1 00001a0a: PUSH4 0xd0a94d2c 00001a0f: SWAP1 00001a10: PUSH1 0x24 00001a12: ADD 00001a13: PUSH1 0x20 00001a15: PUSH1 0x40 00001a17: MLOAD 00001a18: DUP1 00001a19: DUP4 00001a1a: SUB 00001a1b: DUP2 00001a1c: DUP7 00001a1d: GAS 00001a1e: DELEGATECALL 00001a1f: ISZERO 00001a20: DUP1 00001a21: ISZERO 00001a22: PUSH2 0x1a2f 00001a25: JUMPI 00001a26: RETURNDATASIZE 00001a27: PUSH1 0x00 00001a29: DUP1 00001a2a: RETURNDATACOPY 00001a2b: RETURNDATASIZE 00001a2c: PUSH1 0x00 00001a2e: REVERT 00001a2f: JUMPDEST 00001a30: POP 00001a31: POP 00001a32: POP 00001a33: POP 00001a34: PUSH1 0x40 00001a36: MLOAD 00001a37: RETURNDATASIZE 00001a38: PUSH1 0x1f 00001a3a: NOT 00001a3b: PUSH1 0x1f 00001a3d: DUP3 00001a3e: ADD 00001a3f: AND 00001a40: DUP3 00001a41: ADD 00001a42: DUP1 00001a43: PUSH1 0x40 00001a45: MSTORE 00001a46: POP 00001a47: DUP2 00001a48: ADD 00001a49: SWAP1 00001a4a: PUSH2 0x1a53 00001a4d: SWAP2 00001a4e: SWAP1 00001a4f: PUSH2 0x523f 00001a52: JUMP 00001a53: JUMPDEST 00001a54: PUSH1 0x01 00001a56: PUSH1 0x01 00001a58: PUSH1 0xa0 00001a5a: SHL 00001a5b: SUB 00001a5c: AND 00001a5d: PUSH1 0x00 00001a5f: SWAP1 00001a60: DUP2 00001a61: MSTORE 00001a62: PUSH1 0x0c 00001a64: PUSH1 0x20 00001a66: MSTORE 00001a67: PUSH1 0x40 00001a69: SWAP1 00001a6a: KECCAK256 00001a6b: PUSH1 0x03 00001a6d: ADD 00001a6e: SLOAD 00001a6f: SWAP3 00001a70: SWAP2 00001a71: POP 00001a72: POP 00001a73: JUMP 00001a74: JUMPDEST 00001a75: PUSH2 0x1a7c 00001a78: PUSH2 0x3d46 00001a7b: JUMP 00001a7c: JUMPDEST 00001a7d: PUSH1 0x40 00001a7f: MLOAD 00001a80: PUSH4 0x24745215 00001a85: PUSH1 0xe2 00001a87: SHL 00001a88: DUP2 00001a89: MSTORE 00001a8a: PUSH32 0xcc8d84e7812292bf7d6520663883418777cc25c70d0afb177cf436a4b193f43f 00001aab: SWAP1 00001aac: PUSH1 0x01 00001aae: PUSH1 0x01 00001ab0: PUSH1 0xa0 00001ab2: SHL 00001ab3: SUB 00001ab4: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00001ad5: AND 00001ad6: SWAP1 00001ad7: PUSH4 0x91d14854 00001adc: SWAP1 00001add: PUSH2 0x1aec 00001ae0: SWAP1 00001ae1: DUP5 00001ae2: SWAP1 00001ae3: CALLER 00001ae4: SWAP1 00001ae5: PUSH1 0x04 00001ae7: ADD 00001ae8: PUSH2 0x5228 00001aeb: JUMP 00001aec: JUMPDEST 00001aed: PUSH1 0x20 00001aef: PUSH1 0x40 00001af1: MLOAD 00001af2: DUP1 00001af3: DUP4 00001af4: SUB 00001af5: DUP2 00001af6: DUP7 00001af7: GAS 00001af8: STATICCALL 00001af9: ISZERO 00001afa: DUP1 00001afb: ISZERO 00001afc: PUSH2 0x1b09 00001aff: JUMPI 00001b00: RETURNDATASIZE 00001b01: PUSH1 0x00 00001b03: DUP1 00001b04: RETURNDATACOPY 00001b05: RETURNDATASIZE 00001b06: PUSH1 0x00 00001b08: REVERT 00001b09: JUMPDEST 00001b0a: POP 00001b0b: POP 00001b0c: POP 00001b0d: POP 00001b0e: PUSH1 0x40 00001b10: MLOAD 00001b11: RETURNDATASIZE 00001b12: PUSH1 0x1f 00001b14: NOT 00001b15: PUSH1 0x1f 00001b17: DUP3 00001b18: ADD 00001b19: AND 00001b1a: DUP3 00001b1b: ADD 00001b1c: DUP1 00001b1d: PUSH1 0x40 00001b1f: MSTORE 00001b20: POP 00001b21: DUP2 00001b22: ADD 00001b23: SWAP1 00001b24: PUSH2 0x1b2d 00001b27: SWAP2 00001b28: SWAP1 00001b29: PUSH2 0x4fdb 00001b2c: JUMP 00001b2d: JUMPDEST 00001b2e: PUSH2 0x1b4a 00001b31: JUMPI 00001b32: PUSH1 0x40 00001b34: MLOAD 00001b35: PUSH4 0x4ca88867 00001b3a: PUSH1 0xe0 00001b3c: SHL 00001b3d: DUP2 00001b3e: MSTORE 00001b3f: PUSH1 0x04 00001b41: ADD 00001b42: PUSH1 0x40 00001b44: MLOAD 00001b45: DUP1 00001b46: SWAP2 00001b47: SUB 00001b48: SWAP1 00001b49: REVERT 00001b4a: JUMPDEST 00001b4b: PUSH32 0x0000000000000000000000002218f90a98b0c070676f249ef44834686daa4285 00001b6c: PUSH1 0x01 00001b6e: PUSH1 0x01 00001b70: PUSH1 0xa0 00001b72: SHL 00001b73: SUB 00001b74: AND 00001b75: PUSH4 0xc3d0cbfb 00001b7a: PUSH1 0x40 00001b7c: MLOAD 00001b7d: DUP2 00001b7e: PUSH4 0xffffffff 00001b83: AND 00001b84: PUSH1 0xe0 00001b86: SHL 00001b87: DUP2 00001b88: MSTORE 00001b89: PUSH1 0x04 00001b8b: ADD 00001b8c: PUSH1 0x20 00001b8e: PUSH1 0x40 00001b90: MLOAD 00001b91: DUP1 00001b92: DUP4 00001b93: SUB 00001b94: DUP2 00001b95: DUP7 00001b96: GAS 00001b97: STATICCALL 00001b98: ISZERO 00001b99: DUP1 00001b9a: ISZERO 00001b9b: PUSH2 0x1ba8 00001b9e: JUMPI 00001b9f: RETURNDATASIZE 00001ba0: PUSH1 0x00 00001ba2: DUP1 00001ba3: RETURNDATACOPY 00001ba4: RETURNDATASIZE 00001ba5: PUSH1 0x00 00001ba7: REVERT 00001ba8: JUMPDEST 00001ba9: POP 00001baa: POP 00001bab: POP 00001bac: POP 00001bad: PUSH1 0x40 00001baf: MLOAD 00001bb0: RETURNDATASIZE 00001bb1: PUSH1 0x1f 00001bb3: NOT 00001bb4: PUSH1 0x1f 00001bb6: DUP3 00001bb7: ADD 00001bb8: AND 00001bb9: DUP3 00001bba: ADD 00001bbb: DUP1 00001bbc: PUSH1 0x40 00001bbe: MSTORE 00001bbf: POP 00001bc0: DUP2 00001bc1: ADD 00001bc2: SWAP1 00001bc3: PUSH2 0x1bcc 00001bc6: SWAP2 00001bc7: SWAP1 00001bc8: PUSH2 0x523f 00001bcb: JUMP 00001bcc: JUMPDEST 00001bcd: PUSH1 0x01 00001bcf: PUSH1 0x01 00001bd1: PUSH1 0xa0 00001bd3: SHL 00001bd4: SUB 00001bd5: AND 00001bd6: PUSH4 0x78b3218e 00001bdb: PUSH1 0x40 00001bdd: MLOAD 00001bde: DUP2 00001bdf: PUSH4 0xffffffff 00001be4: AND 00001be5: PUSH1 0xe0 00001be7: SHL 00001be8: DUP2 00001be9: MSTORE 00001bea: PUSH1 0x04 00001bec: ADD 00001bed: PUSH1 0x00 00001bef: PUSH1 0x40 00001bf1: MLOAD 00001bf2: DUP1 00001bf3: DUP4 00001bf4: SUB 00001bf5: DUP2 00001bf6: PUSH1 0x00 00001bf8: DUP8 00001bf9: DUP1 00001bfa: EXTCODESIZE 00001bfb: ISZERO 00001bfc: DUP1 00001bfd: ISZERO 00001bfe: PUSH2 0x1c06 00001c01: JUMPI 00001c02: PUSH1 0x00 00001c04: DUP1 00001c05: REVERT 00001c06: JUMPDEST 00001c07: POP 00001c08: GAS 00001c09: CALL 00001c0a: ISZERO 00001c0b: DUP1 00001c0c: ISZERO 00001c0d: PUSH2 0x1c1a 00001c10: JUMPI 00001c11: RETURNDATASIZE 00001c12: PUSH1 0x00 00001c14: DUP1 00001c15: RETURNDATACOPY 00001c16: RETURNDATASIZE 00001c17: PUSH1 0x00 00001c19: REVERT 00001c1a: JUMPDEST 00001c1b: POP 00001c1c: POP 00001c1d: PUSH1 0x1e 00001c1f: SLOAD 00001c20: PUSH1 0x1f 00001c22: SLOAD 00001c23: PUSH1 0x40 00001c25: MLOAD 00001c26: PUSH4 0x19198b0b 00001c2b: PUSH1 0xe2 00001c2d: SHL 00001c2e: DUP2 00001c2f: MSTORE 00001c30: PUSH1 0x10 00001c32: PUSH1 0x04 00001c34: DUP3 00001c35: ADD 00001c36: MSTORE 00001c37: PUSH1 0x0c 00001c39: PUSH1 0x24 00001c3b: DUP3 00001c3c: ADD 00001c3d: MSTORE 00001c3e: PUSH1 0x44 00001c40: DUP2 00001c41: ADD 00001c42: DUP8 00001c43: SWAP1 00001c44: MSTORE 00001c45: SWAP2 00001c46: SWAP4 00001c47: POP 00001c48: SWAP2 00001c49: POP 00001c4a: PUSH1 0x00 00001c4c: SWAP1 00001c4d: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00001c62: SWAP1 00001c63: PUSH4 0x64662c2c 00001c68: SWAP1 00001c69: PUSH1 0x64 00001c6b: ADD 00001c6c: PUSH2 0x0120 00001c6f: PUSH1 0x40 00001c71: MLOAD 00001c72: DUP1 00001c73: DUP4 00001c74: SUB 00001c75: DUP2 00001c76: DUP7 00001c77: GAS 00001c78: DELEGATECALL 00001c79: ISZERO 00001c7a: DUP1 00001c7b: ISZERO 00001c7c: PUSH2 0x1c89 00001c7f: JUMPI 00001c80: RETURNDATASIZE 00001c81: PUSH1 0x00 00001c83: DUP1 00001c84: RETURNDATACOPY 00001c85: RETURNDATASIZE 00001c86: PUSH1 0x00 00001c88: REVERT 00001c89: JUMPDEST 00001c8a: POP 00001c8b: POP 00001c8c: POP 00001c8d: POP 00001c8e: PUSH1 0x40 00001c90: MLOAD 00001c91: RETURNDATASIZE 00001c92: PUSH1 0x1f 00001c94: NOT 00001c95: PUSH1 0x1f 00001c97: DUP3 00001c98: ADD 00001c99: AND 00001c9a: DUP3 00001c9b: ADD 00001c9c: DUP1 00001c9d: PUSH1 0x40 00001c9f: MSTORE 00001ca0: POP 00001ca1: DUP2 00001ca2: ADD 00001ca3: SWAP1 00001ca4: PUSH2 0x1cad 00001ca7: SWAP2 00001ca8: SWAP1 00001ca9: PUSH2 0x525c 00001cac: JUMP 00001cad: JUMPDEST 00001cae: SWAP1 00001caf: POP 00001cb0: PUSH1 0x00 00001cb2: DUP2 00001cb3: PUSH1 0x40 00001cb5: ADD 00001cb6: MLOAD 00001cb7: DUP5 00001cb8: PUSH2 0x1cc1 00001cbb: SWAP2 00001cbc: SWAP1 00001cbd: PUSH2 0x52f4 00001cc0: JUMP 00001cc1: JUMPDEST 00001cc2: SWAP1 00001cc3: POP 00001cc4: PUSH1 0x00 00001cc6: DUP3 00001cc7: PUSH1 0x80 00001cc9: ADD 00001cca: MLOAD 00001ccb: DUP4 00001ccc: PUSH1 0x60 00001cce: ADD 00001ccf: MLOAD 00001cd0: DUP6 00001cd1: PUSH2 0x1cda 00001cd4: SWAP2 00001cd5: SWAP1 00001cd6: PUSH2 0x52f4 00001cd9: JUMP 00001cda: JUMPDEST 00001cdb: PUSH2 0x1ce4 00001cde: SWAP2 00001cdf: SWAP1 00001ce0: PUSH2 0x5307 00001ce3: JUMP 00001ce4: JUMPDEST 00001ce5: PUSH1 0x1e 00001ce7: DUP4 00001ce8: SWAP1 00001ce9: SSTORE 00001cea: PUSH1 0x1f 00001cec: DUP2 00001ced: SWAP1 00001cee: SSTORE 00001cef: PUSH1 0xc0 00001cf1: DUP5 00001cf2: ADD 00001cf3: MLOAD 00001cf4: PUSH1 0xa0 00001cf6: DUP6 00001cf7: ADD 00001cf8: MLOAD 00001cf9: PUSH1 0x20 00001cfb: SLOAD 00001cfc: SWAP3 00001cfd: SWAP4 00001cfe: POP 00001cff: SWAP1 00001d00: SWAP2 00001d01: PUSH2 0x1d0a 00001d04: SWAP2 00001d05: SWAP1 00001d06: PUSH2 0x52f4 00001d09: JUMP 00001d0a: JUMPDEST 00001d0b: PUSH2 0x1d14 00001d0e: SWAP2 00001d0f: SWAP1 00001d10: PUSH2 0x5307 00001d13: JUMP 00001d14: JUMPDEST 00001d15: PUSH1 0x20 00001d17: SSTORE 00001d18: PUSH2 0x0100 00001d1b: DUP4 00001d1c: ADD 00001d1d: MLOAD 00001d1e: PUSH1 0xe0 00001d20: DUP5 00001d21: ADD 00001d22: MLOAD 00001d23: PUSH1 0x21 00001d25: SLOAD 00001d26: PUSH2 0x1d2f 00001d29: SWAP2 00001d2a: SWAP1 00001d2b: PUSH2 0x52f4 00001d2e: JUMP 00001d2f: JUMPDEST 00001d30: PUSH2 0x1d39 00001d33: SWAP2 00001d34: SWAP1 00001d35: PUSH2 0x5307 00001d38: JUMP 00001d39: JUMPDEST 00001d3a: PUSH1 0x21 00001d3c: SSTORE 00001d3d: PUSH1 0x00 00001d3f: PUSH2 0x1d5c 00001d42: PUSH2 0x1d4b 00001d45: DUP4 00001d46: DUP6 00001d47: PUSH2 0x52f4 00001d4a: JUMP 00001d4b: JUMPDEST 00001d4c: PUSH2 0x1d55 00001d4f: DUP8 00001d50: DUP10 00001d51: PUSH2 0x52f4 00001d54: JUMP 00001d55: JUMPDEST 00001d56: PUSH1 0x01 00001d58: PUSH2 0x3d70 00001d5b: JUMP 00001d5c: JUMPDEST 00001d5d: SWAP1 00001d5e: POP 00001d5f: PUSH2 0x1d71 00001d62: PUSH2 0x1d6b 00001d65: DUP4 00001d66: DUP6 00001d67: PUSH2 0x52f4 00001d6a: JUMP 00001d6b: JUMPDEST 00001d6c: DUP3 00001d6d: PUSH2 0x3ec7 00001d70: JUMP 00001d71: JUMPDEST 00001d72: PUSH1 0x40 00001d74: DUP1 00001d75: MLOAD 00001d76: DUP5 00001d77: DUP2 00001d78: MSTORE 00001d79: PUSH1 0x20 00001d7b: DUP2 00001d7c: ADD 00001d7d: DUP5 00001d7e: SWAP1 00001d7f: MSTORE 00001d80: SWAP1 00001d81: DUP2 00001d82: ADD 00001d83: DUP3 00001d84: SWAP1 00001d85: MSTORE 00001d86: PUSH32 0xfde591d4268ec544cdd14ce6872b792705c3a22041dda226551134062d3e05e8 00001da7: SWAP1 00001da8: PUSH1 0x60 00001daa: ADD 00001dab: PUSH1 0x40 00001dad: MLOAD 00001dae: DUP1 00001daf: SWAP2 00001db0: SUB 00001db1: SWAP1 00001db2: LOG1 00001db3: POP 00001db4: POP 00001db5: POP 00001db6: POP 00001db7: POP 00001db8: POP 00001db9: PUSH32 0x0000000000000000000000002218f90a98b0c070676f249ef44834686daa4285 00001dda: PUSH1 0x01 00001ddc: PUSH1 0x01 00001dde: PUSH1 0xa0 00001de0: SHL 00001de1: SUB 00001de2: AND 00001de3: PUSH4 0xc3d0cbfb 00001de8: PUSH1 0x40 00001dea: MLOAD 00001deb: DUP2 00001dec: PUSH4 0xffffffff 00001df1: AND 00001df2: PUSH1 0xe0 00001df4: SHL 00001df5: DUP2 00001df6: MSTORE 00001df7: PUSH1 0x04 00001df9: ADD 00001dfa: PUSH1 0x20 00001dfc: PUSH1 0x40 00001dfe: MLOAD 00001dff: DUP1 00001e00: DUP4 00001e01: SUB 00001e02: DUP2 00001e03: DUP7 00001e04: GAS 00001e05: STATICCALL 00001e06: ISZERO 00001e07: DUP1 00001e08: ISZERO 00001e09: PUSH2 0x1e16 00001e0c: JUMPI 00001e0d: RETURNDATASIZE 00001e0e: PUSH1 0x00 00001e10: DUP1 00001e11: RETURNDATACOPY 00001e12: RETURNDATASIZE 00001e13: PUSH1 0x00 00001e15: REVERT 00001e16: JUMPDEST 00001e17: POP 00001e18: POP 00001e19: POP 00001e1a: POP 00001e1b: PUSH1 0x40 00001e1d: MLOAD 00001e1e: RETURNDATASIZE 00001e1f: PUSH1 0x1f 00001e21: NOT 00001e22: PUSH1 0x1f 00001e24: DUP3 00001e25: ADD 00001e26: AND 00001e27: DUP3 00001e28: ADD 00001e29: DUP1 00001e2a: PUSH1 0x40 00001e2c: MSTORE 00001e2d: POP 00001e2e: DUP2 00001e2f: ADD 00001e30: SWAP1 00001e31: PUSH2 0x1e3a 00001e34: SWAP2 00001e35: SWAP1 00001e36: PUSH2 0x523f 00001e39: JUMP 00001e3a: JUMPDEST 00001e3b: PUSH1 0x01 00001e3d: PUSH1 0x01 00001e3f: PUSH1 0xa0 00001e41: SHL 00001e42: SUB 00001e43: AND 00001e44: PUSH4 0x565f3652 00001e49: PUSH1 0x40 00001e4b: MLOAD 00001e4c: DUP2 00001e4d: PUSH4 0xffffffff 00001e52: AND 00001e53: PUSH1 0xe0 00001e55: SHL 00001e56: DUP2 00001e57: MSTORE 00001e58: PUSH1 0x04 00001e5a: ADD 00001e5b: PUSH1 0x00 00001e5d: PUSH1 0x40 00001e5f: MLOAD 00001e60: DUP1 00001e61: DUP4 00001e62: SUB 00001e63: DUP2 00001e64: PUSH1 0x00 00001e66: DUP8 00001e67: DUP1 00001e68: EXTCODESIZE 00001e69: ISZERO 00001e6a: DUP1 00001e6b: ISZERO 00001e6c: PUSH2 0x1e74 00001e6f: JUMPI 00001e70: PUSH1 0x00 00001e72: DUP1 00001e73: REVERT 00001e74: JUMPDEST 00001e75: POP 00001e76: GAS 00001e77: CALL 00001e78: ISZERO 00001e79: DUP1 00001e7a: ISZERO 00001e7b: PUSH2 0x1e88 00001e7e: JUMPI 00001e7f: RETURNDATASIZE 00001e80: PUSH1 0x00 00001e82: DUP1 00001e83: RETURNDATACOPY 00001e84: RETURNDATASIZE 00001e85: PUSH1 0x00 00001e87: REVERT 00001e88: JUMPDEST 00001e89: POP 00001e8a: POP 00001e8b: POP 00001e8c: POP 00001e8d: POP 00001e8e: PUSH2 0x1e96 00001e91: PUSH1 0x01 00001e93: DUP1 00001e94: SSTORE 00001e95: JUMP 00001e96: JUMPDEST 00001e97: POP 00001e98: JUMP 00001e99: JUMPDEST 00001e9a: PUSH1 0x60 00001e9c: PUSH2 0x0cac 00001e9f: PUSH1 0x08 00001ea1: PUSH2 0x3bd6 00001ea4: JUMP 00001ea5: JUMPDEST 00001ea6: PUSH1 0x00 00001ea8: DUP1 00001ea9: SLOAD 00001eaa: PUSH3 0x010000 00001eae: SWAP1 00001eaf: DIV 00001eb0: PUSH1 0xff 00001eb2: AND 00001eb3: DUP1 00001eb4: PUSH2 0x0cac 00001eb7: JUMPI 00001eb8: POP 00001eb9: PUSH32 0x000000000000000000000000027a3359b803885261b140415873845f72238833 00001eda: PUSH1 0x01 00001edc: PUSH1 0x01 00001ede: PUSH1 0xa0 00001ee0: SHL 00001ee1: SUB 00001ee2: AND 00001ee3: PUSH4 0x7691c4ac 00001ee8: PUSH1 0x40 00001eea: MLOAD 00001eeb: DUP2 00001eec: PUSH4 0xffffffff 00001ef1: AND 00001ef2: PUSH1 0xe0 00001ef4: SHL 00001ef5: DUP2 00001ef6: MSTORE 00001ef7: PUSH1 0x04 00001ef9: ADD 00001efa: PUSH1 0x20 00001efc: PUSH1 0x40 00001efe: MLOAD 00001eff: DUP1 00001f00: DUP4 00001f01: SUB 00001f02: DUP2 00001f03: PUSH1 0x00 00001f05: DUP8 00001f06: GAS 00001f07: CALL 00001f08: ISZERO 00001f09: DUP1 00001f0a: ISZERO 00001f0b: PUSH2 0x1f18 00001f0e: JUMPI 00001f0f: RETURNDATASIZE 00001f10: PUSH1 0x00 00001f12: DUP1 00001f13: RETURNDATACOPY 00001f14: RETURNDATASIZE 00001f15: PUSH1 0x00 00001f17: REVERT 00001f18: JUMPDEST 00001f19: POP 00001f1a: POP 00001f1b: POP 00001f1c: POP 00001f1d: PUSH1 0x40 00001f1f: MLOAD 00001f20: RETURNDATASIZE 00001f21: PUSH1 0x1f 00001f23: NOT 00001f24: PUSH1 0x1f 00001f26: DUP3 00001f27: ADD 00001f28: AND 00001f29: DUP3 00001f2a: ADD 00001f2b: DUP1 00001f2c: PUSH1 0x40 00001f2e: MSTORE 00001f2f: POP 00001f30: DUP2 00001f31: ADD 00001f32: SWAP1 00001f33: PUSH2 0x0cac 00001f36: SWAP2 00001f37: SWAP1 00001f38: PUSH2 0x4fdb 00001f3b: JUMP 00001f3c: JUMPDEST 00001f3d: PUSH1 0x40 00001f3f: MLOAD 00001f40: PUSH4 0x24745215 00001f45: PUSH1 0xe2 00001f47: SHL 00001f48: DUP2 00001f49: MSTORE 00001f4a: PUSH32 0x34a7520d3d78202e2ebf2e8fd1438c03a5b2d8f76e9ed166769da91b4084c8a9 00001f6b: SWAP1 00001f6c: PUSH1 0x01 00001f6e: PUSH1 0x01 00001f70: PUSH1 0xa0 00001f72: SHL 00001f73: SUB 00001f74: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00001f95: AND 00001f96: SWAP1 00001f97: PUSH4 0x91d14854 00001f9c: SWAP1 00001f9d: PUSH2 0x1fac 00001fa0: SWAP1 00001fa1: DUP5 00001fa2: SWAP1 00001fa3: CALLER 00001fa4: SWAP1 00001fa5: PUSH1 0x04 00001fa7: ADD 00001fa8: PUSH2 0x5228 00001fab: JUMP 00001fac: JUMPDEST 00001fad: PUSH1 0x20 00001faf: PUSH1 0x40 00001fb1: MLOAD 00001fb2: DUP1 00001fb3: DUP4 00001fb4: SUB 00001fb5: DUP2 00001fb6: DUP7 00001fb7: GAS 00001fb8: STATICCALL 00001fb9: ISZERO 00001fba: DUP1 00001fbb: ISZERO 00001fbc: PUSH2 0x1fc9 00001fbf: JUMPI 00001fc0: RETURNDATASIZE 00001fc1: PUSH1 0x00 00001fc3: DUP1 00001fc4: RETURNDATACOPY 00001fc5: RETURNDATASIZE 00001fc6: PUSH1 0x00 00001fc8: REVERT 00001fc9: JUMPDEST 00001fca: POP 00001fcb: POP 00001fcc: POP 00001fcd: POP 00001fce: PUSH1 0x40 00001fd0: MLOAD 00001fd1: RETURNDATASIZE 00001fd2: PUSH1 0x1f 00001fd4: NOT 00001fd5: PUSH1 0x1f 00001fd7: DUP3 00001fd8: ADD 00001fd9: AND 00001fda: DUP3 00001fdb: ADD 00001fdc: DUP1 00001fdd: PUSH1 0x40 00001fdf: MSTORE 00001fe0: POP 00001fe1: DUP2 00001fe2: ADD 00001fe3: SWAP1 00001fe4: PUSH2 0x1fed 00001fe7: SWAP2 00001fe8: SWAP1 00001fe9: PUSH2 0x4fdb 00001fec: JUMP 00001fed: JUMPDEST 00001fee: PUSH2 0x200a 00001ff1: JUMPI 00001ff2: PUSH1 0x40 00001ff4: MLOAD 00001ff5: PUSH4 0x4ca88867 00001ffa: PUSH1 0xe0 00001ffc: SHL 00001ffd: DUP2 00001ffe: MSTORE 00001fff: PUSH1 0x04 00002001: ADD 00002002: PUSH1 0x40 00002004: MLOAD 00002005: DUP1 00002006: SWAP2 00002007: SUB 00002008: SWAP1 00002009: REVERT 0000200a: JUMPDEST 0000200b: PUSH1 0x40 0000200d: MLOAD 0000200e: PUSH4 0xa4a419c7 00002013: PUSH1 0xe0 00002015: SHL 00002016: DUP2 00002017: MSTORE 00002018: PUSH20 0xb8028f58e5de9cb330c544df41d9681cdf05062e 0000202d: SWAP1 0000202e: PUSH4 0xa4a419c7 00002033: SWAP1 00002034: PUSH2 0x206b 00002037: SWAP1 00002038: PUSH1 0x0a 0000203a: SWAP1 0000203b: PUSH1 0x08 0000203d: SWAP1 0000203e: DUP9 0000203f: SWAP1 00002040: DUP9 00002041: SWAP1 00002042: PUSH32 0x0000000000000000000000002218f90a98b0c070676f249ef44834686daa4285 00002063: SWAP1 00002064: PUSH1 0x04 00002066: ADD 00002067: PUSH2 0x5363 0000206a: JUMP 0000206b: JUMPDEST 0000206c: PUSH1 0x00 0000206e: PUSH1 0x40 00002070: MLOAD 00002071: DUP1 00002072: DUP4 00002073: SUB 00002074: DUP2 00002075: DUP7 00002076: DUP1 00002077: EXTCODESIZE 00002078: ISZERO 00002079: DUP1 0000207a: ISZERO 0000207b: PUSH2 0x2083 0000207e: JUMPI 0000207f: PUSH1 0x00 00002081: DUP1 00002082: REVERT 00002083: JUMPDEST 00002084: POP 00002085: GAS 00002086: DELEGATECALL 00002087: ISZERO 00002088: DUP1 00002089: ISZERO 0000208a: PUSH2 0x2097 0000208d: JUMPI 0000208e: RETURNDATASIZE 0000208f: PUSH1 0x00 00002091: DUP1 00002092: RETURNDATACOPY 00002093: RETURNDATASIZE 00002094: PUSH1 0x00 00002096: REVERT 00002097: JUMPDEST 00002098: POP 00002099: POP 0000209a: POP 0000209b: POP 0000209c: POP 0000209d: POP 0000209e: POP 0000209f: JUMP 000020a0: JUMPDEST 000020a1: PUSH1 0x00 000020a3: PUSH2 0x20aa 000020a6: PUSH2 0x3d46 000020a9: JUMP 000020aa: JUMPDEST 000020ab: PUSH1 0x01 000020ad: PUSH1 0x00 000020af: DUP1 000020b0: PUSH2 0x20b8 000020b3: DUP4 000020b4: PUSH2 0x3f59 000020b7: JUMP 000020b8: JUMPDEST 000020b9: SWAP2 000020ba: POP 000020bb: SWAP2 000020bc: POP 000020bd: PUSH2 0x20c4 000020c0: PUSH2 0x3fa1 000020c3: JUMP 000020c4: JUMPDEST 000020c5: PUSH2 0x20ec 000020c8: DUP7 000020c9: PUSH1 0x40 000020cb: MLOAD 000020cc: DUP1 000020cd: PUSH1 0x40 000020cf: ADD 000020d0: PUSH1 0x40 000020d2: MSTORE 000020d3: DUP1 000020d4: PUSH1 0x06 000020d6: DUP2 000020d7: MSTORE 000020d8: PUSH1 0x20 000020da: ADD 000020db: PUSH6 0x617373657473 000020e2: PUSH1 0xd0 000020e4: SHL 000020e5: DUP2 000020e6: MSTORE 000020e7: POP 000020e8: PUSH2 0x40a5 000020eb: JUMP 000020ec: JUMPDEST 000020ed: PUSH1 0x00 000020ef: PUSH2 0x20f8 000020f2: PUSH1 0x01 000020f4: PUSH2 0x3b96 000020f7: JUMP 000020f8: JUMPDEST 000020f9: SWAP1 000020fa: POP 000020fb: PUSH1 0x00 000020fd: PUSH2 0x2106 00002100: DUP8 00002101: DUP4 00002102: PUSH2 0x3cd4 00002105: JUMP 00002106: JUMPDEST 00002107: SWAP1 00002108: POP 00002109: DUP1 0000210a: DUP9 0000210b: GT 0000210c: ISZERO 0000210d: PUSH2 0x2133 00002110: JUMPI 00002111: PUSH1 0x40 00002113: MLOAD 00002114: PUSH4 0x28e53d1d 00002119: PUSH1 0xe2 0000211b: SHL 0000211c: DUP2 0000211d: MSTORE 0000211e: PUSH1 0x04 00002120: DUP2 00002121: ADD 00002122: DUP10 00002123: SWAP1 00002124: MSTORE 00002125: PUSH1 0x24 00002127: DUP2 00002128: ADD 00002129: DUP3 0000212a: SWAP1 0000212b: MSTORE 0000212c: PUSH1 0x44 0000212e: ADD 0000212f: PUSH2 0x115a 00002132: JUMP 00002133: JUMPDEST 00002134: PUSH2 0x2147 00002137: DUP9 00002138: DUP4 00002139: PUSH2 0x2140 0000213c: PUSH2 0x0f45 0000213f: JUMP 00002140: JUMPDEST 00002141: PUSH1 0x00 00002143: PUSH2 0x23bb 00002146: JUMP 00002147: JUMPDEST 00002148: SWAP6 00002149: POP 0000214a: PUSH2 0x2171 0000214d: DUP7 0000214e: PUSH1 0x40 00002150: MLOAD 00002151: DUP1 00002152: PUSH1 0x40 00002154: ADD 00002155: PUSH1 0x40 00002157: MSTORE 00002158: DUP1 00002159: PUSH1 0x06 0000215b: DUP2 0000215c: MSTORE 0000215d: PUSH1 0x20 0000215f: ADD 00002160: PUSH6 0x736861726573 00002167: PUSH1 0xd0 00002169: SHL 0000216a: DUP2 0000216b: MSTORE 0000216c: POP 0000216d: PUSH2 0x40a5 00002170: JUMP 00002171: JUMPDEST 00002172: PUSH2 0x217c 00002175: DUP9 00002176: DUP8 00002177: DUP10 00002178: PUSH2 0x40c8 0000217b: JUMP 0000217c: JUMPDEST 0000217d: POP 0000217e: POP 0000217f: PUSH2 0x2189 00002182: DUP3 00002183: DUP3 00002184: DUP6 00002185: PUSH2 0x4153 00002188: JUMP 00002189: JUMPDEST 0000218a: POP 0000218b: POP 0000218c: POP 0000218d: PUSH2 0x0d62 00002190: PUSH1 0x01 00002192: DUP1 00002193: SSTORE 00002194: JUMP 00002195: JUMPDEST 00002196: PUSH1 0x40 00002198: MLOAD 00002199: PUSH4 0x24745215 0000219e: PUSH1 0xe2 000021a0: SHL 000021a1: DUP2 000021a2: MSTORE 000021a3: PUSH32 0x0cf879d4130d1406f9ac47c9bad2570cc4a127a954af798da98488d730523ec4 000021c4: SWAP1 000021c5: PUSH1 0x01 000021c7: PUSH1 0x01 000021c9: PUSH1 0xa0 000021cb: SHL 000021cc: SUB 000021cd: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 000021ee: AND 000021ef: SWAP1 000021f0: PUSH4 0x91d14854 000021f5: SWAP1 000021f6: PUSH2 0x2205 000021f9: SWAP1 000021fa: DUP5 000021fb: SWAP1 000021fc: CALLER 000021fd: SWAP1 000021fe: PUSH1 0x04 00002200: ADD 00002201: PUSH2 0x5228 00002204: JUMP 00002205: JUMPDEST 00002206: PUSH1 0x20 00002208: PUSH1 0x40 0000220a: MLOAD 0000220b: DUP1 0000220c: DUP4 0000220d: SUB 0000220e: DUP2 0000220f: DUP7 00002210: GAS 00002211: STATICCALL 00002212: ISZERO 00002213: DUP1 00002214: ISZERO 00002215: PUSH2 0x2222 00002218: JUMPI 00002219: RETURNDATASIZE 0000221a: PUSH1 0x00 0000221c: DUP1 0000221d: RETURNDATACOPY 0000221e: RETURNDATASIZE 0000221f: PUSH1 0x00 00002221: REVERT 00002222: JUMPDEST 00002223: POP 00002224: POP 00002225: POP 00002226: POP 00002227: PUSH1 0x40 00002229: MLOAD 0000222a: RETURNDATASIZE 0000222b: PUSH1 0x1f 0000222d: NOT 0000222e: PUSH1 0x1f 00002230: DUP3 00002231: ADD 00002232: AND 00002233: DUP3 00002234: ADD 00002235: DUP1 00002236: PUSH1 0x40 00002238: MSTORE 00002239: POP 0000223a: DUP2 0000223b: ADD 0000223c: SWAP1 0000223d: PUSH2 0x2246 00002240: SWAP2 00002241: SWAP1 00002242: PUSH2 0x4fdb 00002245: JUMP 00002246: JUMPDEST 00002247: PUSH2 0x2263 0000224a: JUMPI 0000224b: PUSH1 0x40 0000224d: MLOAD 0000224e: PUSH4 0x4ca88867 00002253: PUSH1 0xe0 00002255: SHL 00002256: DUP2 00002257: MSTORE 00002258: PUSH1 0x04 0000225a: ADD 0000225b: PUSH1 0x40 0000225d: MLOAD 0000225e: DUP1 0000225f: SWAP2 00002260: SUB 00002261: SWAP1 00002262: REVERT 00002263: JUMPDEST 00002264: PUSH1 0x40 00002266: MLOAD 00002267: PUSH4 0x2b3f8181 0000226c: PUSH1 0xe1 0000226e: SHL 0000226f: DUP2 00002270: MSTORE 00002271: PUSH1 0x14 00002273: PUSH1 0x04 00002275: DUP3 00002276: ADD 00002277: MSTORE 00002278: DUP3 00002279: ISZERO 0000227a: ISZERO 0000227b: PUSH1 0x24 0000227d: DUP3 0000227e: ADD 0000227f: MSTORE 00002280: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 00002295: SWAP1 00002296: PUSH4 0x567f0302 0000229b: SWAP1 0000229c: PUSH1 0x44 0000229e: ADD 0000229f: JUMPDEST 000022a0: PUSH1 0x00 000022a2: PUSH1 0x40 000022a4: MLOAD 000022a5: DUP1 000022a6: DUP4 000022a7: SUB 000022a8: DUP2 000022a9: DUP7 000022aa: DUP1 000022ab: EXTCODESIZE 000022ac: ISZERO 000022ad: DUP1 000022ae: ISZERO 000022af: PUSH2 0x22b7 000022b2: JUMPI 000022b3: PUSH1 0x00 000022b5: DUP1 000022b6: REVERT 000022b7: JUMPDEST 000022b8: POP 000022b9: GAS 000022ba: DELEGATECALL 000022bb: ISZERO 000022bc: DUP1 000022bd: ISZERO 000022be: PUSH2 0x22cb 000022c1: JUMPI 000022c2: RETURNDATASIZE 000022c3: PUSH1 0x00 000022c5: DUP1 000022c6: RETURNDATACOPY 000022c7: RETURNDATASIZE 000022c8: PUSH1 0x00 000022ca: REVERT 000022cb: JUMPDEST 000022cc: POP 000022cd: POP 000022ce: POP 000022cf: POP 000022d0: POP 000022d1: POP 000022d2: JUMP 000022d3: JUMPDEST 000022d4: PUSH2 0x22fe 000022d7: PUSH1 0x40 000022d9: MLOAD 000022da: DUP1 000022db: PUSH1 0x80 000022dd: ADD 000022de: PUSH1 0x40 000022e0: MSTORE 000022e1: DUP1 000022e2: PUSH1 0x00 000022e4: DUP2 000022e5: MSTORE 000022e6: PUSH1 0x20 000022e8: ADD 000022e9: PUSH1 0x00 000022eb: DUP2 000022ec: MSTORE 000022ed: PUSH1 0x20 000022ef: ADD 000022f0: PUSH1 0x00 000022f2: DUP2 000022f3: MSTORE 000022f4: PUSH1 0x20 000022f6: ADD 000022f7: PUSH1 0x00 000022f9: DUP2 000022fa: MSTORE 000022fb: POP 000022fc: SWAP1 000022fd: JUMP 000022fe: JUMPDEST 000022ff: POP 00002300: PUSH1 0x40 00002302: DUP1 00002303: MLOAD 00002304: PUSH1 0x80 00002306: DUP2 00002307: ADD 00002308: DUP3 00002309: MSTORE 0000230a: PUSH1 0x1e 0000230c: SLOAD 0000230d: DUP2 0000230e: MSTORE 0000230f: PUSH1 0x1f 00002311: SLOAD 00002312: PUSH1 0x20 00002314: DUP1 00002315: DUP4 00002316: ADD 00002317: SWAP2 00002318: SWAP1 00002319: SWAP2 0000231a: MSTORE 0000231b: SLOAD 0000231c: SWAP2 0000231d: DUP2 0000231e: ADD 0000231f: SWAP2 00002320: SWAP1 00002321: SWAP2 00002322: MSTORE 00002323: PUSH1 0x21 00002325: SLOAD 00002326: PUSH1 0x60 00002328: DUP3 00002329: ADD 0000232a: MSTORE 0000232b: SWAP1 0000232c: JUMP 0000232d: JUMPDEST 0000232e: PUSH1 0x40 00002330: MLOAD 00002331: PUSH4 0x560ec123 00002336: PUSH1 0xe0 00002338: SHL 00002339: DUP2 0000233a: MSTORE 0000233b: PUSH1 0x02 0000233d: PUSH1 0x04 0000233f: DUP3 00002340: ADD 00002341: MSTORE 00002342: PUSH1 0x12 00002344: PUSH1 0x24 00002346: DUP3 00002347: ADD 00002348: MSTORE 00002349: PUSH1 0x01 0000234b: PUSH1 0x01 0000234d: PUSH1 0xa0 0000234f: SHL 00002350: SUB 00002351: DUP3 00002352: AND 00002353: PUSH1 0x44 00002355: DUP3 00002356: ADD 00002357: MSTORE 00002358: PUSH1 0x00 0000235a: SWAP1 0000235b: PUSH20 0x8709b88c5cbca830d63f726a6f6f8c6573486223 00002370: SWAP1 00002371: PUSH4 0x560ec123 00002376: SWAP1 00002377: PUSH1 0x64 00002379: ADD 0000237a: JUMPDEST 0000237b: PUSH1 0x20 0000237d: PUSH1 0x40 0000237f: MLOAD 00002380: DUP1 00002381: DUP4 00002382: SUB 00002383: DUP2 00002384: DUP7 00002385: GAS 00002386: DELEGATECALL 00002387: ISZERO 00002388: DUP1 00002389: ISZERO 0000238a: PUSH2 0x2397 0000238d: JUMPI 0000238e: RETURNDATASIZE 0000238f: PUSH1 0x00 00002391: DUP1 00002392: RETURNDATACOPY 00002393: RETURNDATASIZE 00002394: PUSH1 0x00 00002396: REVERT 00002397: JUMPDEST 00002398: POP 00002399: POP 0000239a: POP 0000239b: POP 0000239c: PUSH1 0x40 0000239e: MLOAD 0000239f: RETURNDATASIZE 000023a0: PUSH1 0x1f 000023a2: NOT 000023a3: PUSH1 0x1f 000023a5: DUP3 000023a6: ADD 000023a7: AND 000023a8: DUP3 000023a9: ADD 000023aa: DUP1 000023ab: PUSH1 0x40 000023ad: MSTORE 000023ae: POP 000023af: DUP2 000023b0: ADD 000023b1: SWAP1 000023b2: PUSH2 0x0d62 000023b5: SWAP2 000023b6: SWAP1 000023b7: PUSH2 0x4f7e 000023ba: JUMP 000023bb: JUMPDEST 000023bc: PUSH1 0x00 000023be: DUP5 000023bf: ISZERO 000023c0: DUP1 000023c1: PUSH2 0x23c8 000023c4: JUMPI 000023c5: POP 000023c6: DUP3 000023c7: ISZERO 000023c8: JUMPDEST 000023c9: PUSH2 0x18cb 000023cc: JUMPI 000023cd: PUSH2 0x18c6 000023d0: DUP6 000023d1: DUP5 000023d2: DUP7 000023d3: DUP6 000023d4: PUSH2 0x3ceb 000023d7: JUMP 000023d8: JUMPDEST 000023d9: PUSH1 0x40 000023db: MLOAD 000023dc: PUSH4 0x24745215 000023e1: PUSH1 0xe2 000023e3: SHL 000023e4: DUP2 000023e5: MSTORE 000023e6: PUSH32 0x34a7520d3d78202e2ebf2e8fd1438c03a5b2d8f76e9ed166769da91b4084c8a9 00002407: SWAP1 00002408: PUSH1 0x01 0000240a: PUSH1 0x01 0000240c: PUSH1 0xa0 0000240e: SHL 0000240f: SUB 00002410: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00002431: AND 00002432: SWAP1 00002433: PUSH4 0x91d14854 00002438: SWAP1 00002439: PUSH2 0x2448 0000243c: SWAP1 0000243d: DUP5 0000243e: SWAP1 0000243f: CALLER 00002440: SWAP1 00002441: PUSH1 0x04 00002443: ADD 00002444: PUSH2 0x5228 00002447: JUMP 00002448: JUMPDEST 00002449: PUSH1 0x20 0000244b: PUSH1 0x40 0000244d: MLOAD 0000244e: DUP1 0000244f: DUP4 00002450: SUB 00002451: DUP2 00002452: DUP7 00002453: GAS 00002454: STATICCALL 00002455: ISZERO 00002456: DUP1 00002457: ISZERO 00002458: PUSH2 0x2465 0000245b: JUMPI 0000245c: RETURNDATASIZE 0000245d: PUSH1 0x00 0000245f: DUP1 00002460: RETURNDATACOPY 00002461: RETURNDATASIZE 00002462: PUSH1 0x00 00002464: REVERT 00002465: JUMPDEST 00002466: POP 00002467: POP 00002468: POP 00002469: POP 0000246a: PUSH1 0x40 0000246c: MLOAD 0000246d: RETURNDATASIZE 0000246e: PUSH1 0x1f 00002470: NOT 00002471: PUSH1 0x1f 00002473: DUP3 00002474: ADD 00002475: AND 00002476: DUP3 00002477: ADD 00002478: DUP1 00002479: PUSH1 0x40 0000247b: MSTORE 0000247c: POP 0000247d: DUP2 0000247e: ADD 0000247f: SWAP1 00002480: PUSH2 0x2489 00002483: SWAP2 00002484: SWAP1 00002485: PUSH2 0x4fdb 00002488: JUMP 00002489: JUMPDEST 0000248a: PUSH2 0x24a6 0000248d: JUMPI 0000248e: PUSH1 0x40 00002490: MLOAD 00002491: PUSH4 0x4ca88867 00002496: PUSH1 0xe0 00002498: SHL 00002499: DUP2 0000249a: MSTORE 0000249b: PUSH1 0x04 0000249d: ADD 0000249e: PUSH1 0x40 000024a0: MLOAD 000024a1: DUP1 000024a2: SWAP2 000024a3: SUB 000024a4: SWAP1 000024a5: REVERT 000024a6: JUMPDEST 000024a7: PUSH1 0x40 000024a9: MLOAD 000024aa: PUSH4 0x6469eb8d 000024af: PUSH1 0xe0 000024b1: SHL 000024b2: DUP2 000024b3: MSTORE 000024b4: PUSH20 0xb8028f58e5de9cb330c544df41d9681cdf05062e 000024c9: SWAP1 000024ca: PUSH4 0x6469eb8d 000024cf: SWAP1 000024d0: PUSH2 0x206b 000024d3: SWAP1 000024d4: PUSH1 0x0a 000024d6: SWAP1 000024d7: PUSH1 0x08 000024d9: SWAP1 000024da: DUP9 000024db: SWAP1 000024dc: DUP9 000024dd: SWAP1 000024de: PUSH1 0x04 000024e0: ADD 000024e1: PUSH2 0x539d 000024e4: JUMP 000024e5: JUMPDEST 000024e6: PUSH1 0x60 000024e8: PUSH2 0x0cac 000024eb: PUSH1 0x0a 000024ed: PUSH2 0x3bd6 000024f0: JUMP 000024f1: JUMPDEST 000024f2: PUSH1 0x40 000024f4: MLOAD 000024f5: PUSH4 0x24745215 000024fa: PUSH1 0xe2 000024fc: SHL 000024fd: DUP2 000024fe: MSTORE 000024ff: PUSH1 0x01 00002501: PUSH1 0x01 00002503: PUSH1 0xa0 00002505: SHL 00002506: SUB 00002507: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00002528: AND 00002529: SWAP1 0000252a: PUSH4 0x91d14854 0000252f: SWAP1 00002530: PUSH2 0x255f 00002533: SWAP1 00002534: PUSH32 0x62c67cb852e451f36ab720db75ef4514bb68a3897d1a5c81c9a83b7c98000a73 00002555: SWAP1 00002556: CALLER 00002557: SWAP1 00002558: PUSH1 0x04 0000255a: ADD 0000255b: PUSH2 0x5228 0000255e: JUMP 0000255f: JUMPDEST 00002560: PUSH1 0x20 00002562: PUSH1 0x40 00002564: MLOAD 00002565: DUP1 00002566: DUP4 00002567: SUB 00002568: DUP2 00002569: DUP7 0000256a: GAS 0000256b: STATICCALL 0000256c: ISZERO 0000256d: DUP1 0000256e: ISZERO 0000256f: PUSH2 0x257c 00002572: JUMPI 00002573: RETURNDATASIZE 00002574: PUSH1 0x00 00002576: DUP1 00002577: RETURNDATACOPY 00002578: RETURNDATASIZE 00002579: PUSH1 0x00 0000257b: REVERT 0000257c: JUMPDEST 0000257d: POP 0000257e: POP 0000257f: POP 00002580: POP 00002581: PUSH1 0x40 00002583: MLOAD 00002584: RETURNDATASIZE 00002585: PUSH1 0x1f 00002587: NOT 00002588: PUSH1 0x1f 0000258a: DUP3 0000258b: ADD 0000258c: AND 0000258d: DUP3 0000258e: ADD 0000258f: DUP1 00002590: PUSH1 0x40 00002592: MSTORE 00002593: POP 00002594: DUP2 00002595: ADD 00002596: SWAP1 00002597: PUSH2 0x25a0 0000259a: SWAP2 0000259b: SWAP1 0000259c: PUSH2 0x4fdb 0000259f: JUMP 000025a0: JUMPDEST 000025a1: PUSH2 0x25bd 000025a4: JUMPI 000025a5: PUSH1 0x40 000025a7: MLOAD 000025a8: PUSH4 0x4ca88867 000025ad: PUSH1 0xe0 000025af: SHL 000025b0: DUP2 000025b1: MSTORE 000025b2: PUSH1 0x04 000025b4: ADD 000025b5: PUSH1 0x40 000025b7: MLOAD 000025b8: DUP1 000025b9: SWAP2 000025ba: SUB 000025bb: SWAP1 000025bc: REVERT 000025bd: JUMPDEST 000025be: PUSH1 0x00 000025c0: SLOAD 000025c1: PUSH3 0x010000 000025c5: SWAP1 000025c6: DIV 000025c7: PUSH1 0xff 000025c9: AND 000025ca: ISZERO 000025cb: PUSH2 0x25e7 000025ce: JUMPI 000025cf: PUSH1 0x40 000025d1: MLOAD 000025d2: PUSH4 0x1309a563 000025d7: PUSH1 0xe0 000025d9: SHL 000025da: DUP2 000025db: MSTORE 000025dc: PUSH1 0x04 000025de: ADD 000025df: PUSH1 0x40 000025e1: MLOAD 000025e2: DUP1 000025e3: SWAP2 000025e4: SUB 000025e5: SWAP1 000025e6: REVERT 000025e7: JUMPDEST 000025e8: PUSH1 0x00 000025ea: DUP1 000025eb: SLOAD 000025ec: PUSH3 0xff0000 000025f0: NOT 000025f1: AND 000025f2: PUSH3 0x010000 000025f6: OR 000025f7: SWAP1 000025f8: SSTORE 000025f9: PUSH1 0x40 000025fb: MLOAD 000025fc: CALLER 000025fd: DUP2 000025fe: MSTORE 000025ff: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00002620: SWAP1 00002621: PUSH1 0x20 00002623: ADD 00002624: PUSH2 0x1893 00002627: JUMP 00002628: JUMPDEST 00002629: PUSH2 0x2630 0000262c: PUSH2 0x3d46 0000262f: JUMP 00002630: JUMPDEST 00002631: PUSH1 0x40 00002633: MLOAD 00002634: PUSH4 0x24745215 00002639: PUSH1 0xe2 0000263b: SHL 0000263c: DUP2 0000263d: MSTORE 0000263e: PUSH32 0x0cf879d4130d1406f9ac47c9bad2570cc4a127a954af798da98488d730523ec4 0000265f: SWAP1 00002660: PUSH1 0x01 00002662: PUSH1 0x01 00002664: PUSH1 0xa0 00002666: SHL 00002667: SUB 00002668: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00002689: AND 0000268a: SWAP1 0000268b: PUSH4 0x91d14854 00002690: SWAP1 00002691: PUSH2 0x26a0 00002694: SWAP1 00002695: DUP5 00002696: SWAP1 00002697: CALLER 00002698: SWAP1 00002699: PUSH1 0x04 0000269b: ADD 0000269c: PUSH2 0x5228 0000269f: JUMP 000026a0: JUMPDEST 000026a1: PUSH1 0x20 000026a3: PUSH1 0x40 000026a5: MLOAD 000026a6: DUP1 000026a7: DUP4 000026a8: SUB 000026a9: DUP2 000026aa: DUP7 000026ab: GAS 000026ac: STATICCALL 000026ad: ISZERO 000026ae: DUP1 000026af: ISZERO 000026b0: PUSH2 0x26bd 000026b3: JUMPI 000026b4: RETURNDATASIZE 000026b5: PUSH1 0x00 000026b7: DUP1 000026b8: RETURNDATACOPY 000026b9: RETURNDATASIZE 000026ba: PUSH1 0x00 000026bc: REVERT 000026bd: JUMPDEST 000026be: POP 000026bf: POP 000026c0: POP 000026c1: POP 000026c2: PUSH1 0x40 000026c4: MLOAD 000026c5: RETURNDATASIZE 000026c6: PUSH1 0x1f 000026c8: NOT 000026c9: PUSH1 0x1f 000026cb: DUP3 000026cc: ADD 000026cd: AND 000026ce: DUP3 000026cf: ADD 000026d0: DUP1 000026d1: PUSH1 0x40 000026d3: MSTORE 000026d4: POP 000026d5: DUP2 000026d6: ADD 000026d7: SWAP1 000026d8: PUSH2 0x26e1 000026db: SWAP2 000026dc: SWAP1 000026dd: PUSH2 0x4fdb 000026e0: JUMP 000026e1: JUMPDEST 000026e2: PUSH2 0x26fe 000026e5: JUMPI 000026e6: PUSH1 0x40 000026e8: MLOAD 000026e9: PUSH4 0x4ca88867 000026ee: PUSH1 0xe0 000026f0: SHL 000026f1: DUP2 000026f2: MSTORE 000026f3: PUSH1 0x04 000026f5: ADD 000026f6: PUSH1 0x40 000026f8: MLOAD 000026f9: DUP1 000026fa: SWAP2 000026fb: SUB 000026fc: SWAP1 000026fd: REVERT 000026fe: JUMPDEST 000026ff: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 00002714: PUSH4 0x0dc78a77 00002719: PUSH1 0x14 0000271b: DUP5 0000271c: PUSH2 0x2723 0000271f: PUSH2 0x19da 00002722: JUMP 00002723: JUMPDEST 00002724: PUSH1 0x10 00002726: SLOAD 00002727: PUSH1 0x40 00002729: MLOAD 0000272a: PUSH1 0xe0 0000272c: DUP7 0000272d: SWAP1 0000272e: SHL 0000272f: PUSH1 0x01 00002731: PUSH1 0x01 00002733: PUSH1 0xe0 00002735: SHL 00002736: SUB 00002737: NOT 00002738: AND 00002739: DUP2 0000273a: MSTORE 0000273b: PUSH1 0x04 0000273d: DUP2 0000273e: ADD 0000273f: SWAP5 00002740: SWAP1 00002741: SWAP5 00002742: MSTORE 00002743: PUSH1 0x24 00002745: DUP5 00002746: ADD 00002747: SWAP3 00002748: SWAP1 00002749: SWAP3 0000274a: MSTORE 0000274b: PUSH1 0x44 0000274d: DUP4 0000274e: ADD 0000274f: MSTORE 00002750: PUSH1 0x64 00002752: DUP3 00002753: ADD 00002754: MSTORE 00002755: PUSH1 0x84 00002757: ADD 00002758: PUSH1 0x00 0000275a: PUSH1 0x40 0000275c: MLOAD 0000275d: DUP1 0000275e: DUP4 0000275f: SUB 00002760: DUP2 00002761: DUP7 00002762: DUP1 00002763: EXTCODESIZE 00002764: ISZERO 00002765: DUP1 00002766: ISZERO 00002767: PUSH2 0x276f 0000276a: JUMPI 0000276b: PUSH1 0x00 0000276d: DUP1 0000276e: REVERT 0000276f: JUMPDEST 00002770: POP 00002771: GAS 00002772: DELEGATECALL 00002773: ISZERO 00002774: DUP1 00002775: ISZERO 00002776: PUSH2 0x1e88 00002779: JUMPI 0000277a: RETURNDATASIZE 0000277b: PUSH1 0x00 0000277d: DUP1 0000277e: RETURNDATACOPY 0000277f: RETURNDATASIZE 00002780: PUSH1 0x00 00002782: REVERT 00002783: JUMPDEST 00002784: PUSH1 0x00 00002786: PUSH2 0x278d 00002789: PUSH2 0x3d46 0000278c: JUMP 0000278d: JUMPDEST 0000278e: PUSH1 0x01 00002790: PUSH1 0x00 00002792: DUP1 00002793: PUSH2 0x279b 00002796: DUP4 00002797: PUSH2 0x3f59 0000279a: JUMP 0000279b: JUMPDEST 0000279c: SWAP2 0000279d: POP 0000279e: SWAP2 0000279f: POP 000027a0: PUSH2 0x27a7 000027a3: PUSH2 0x3fa1 000027a6: JUMP 000027a7: JUMPDEST 000027a8: PUSH2 0x27b0 000027ab: DUP6 000027ac: PUSH2 0x3017 000027af: JUMP 000027b0: JUMPDEST 000027b1: DUP7 000027b2: GT 000027b3: ISZERO 000027b4: PUSH2 0x27e3 000027b7: JUMPI 000027b8: DUP6 000027b9: PUSH2 0x27c1 000027bc: DUP7 000027bd: PUSH2 0x3017 000027c0: JUMP 000027c1: JUMPDEST 000027c2: PUSH1 0x40 000027c4: MLOAD 000027c5: PUSH4 0x1091ffef 000027ca: PUSH1 0xe0 000027cc: SHL 000027cd: DUP2 000027ce: MSTORE 000027cf: PUSH1 0x04 000027d1: DUP2 000027d2: ADD 000027d3: SWAP3 000027d4: SWAP1 000027d5: SWAP3 000027d6: MSTORE 000027d7: PUSH1 0x24 000027d9: DUP3 000027da: ADD 000027db: MSTORE 000027dc: PUSH1 0x44 000027de: ADD 000027df: PUSH2 0x115a 000027e2: JUMP 000027e3: JUMPDEST 000027e4: PUSH1 0x00 000027e6: PUSH2 0x27ef 000027e9: PUSH1 0x01 000027eb: PUSH2 0x3b96 000027ee: JUMP 000027ef: JUMPDEST 000027f0: SWAP1 000027f1: POP 000027f2: PUSH2 0x2805 000027f5: DUP8 000027f6: DUP3 000027f7: PUSH2 0x27fe 000027fa: PUSH2 0x0f45 000027fd: JUMP 000027fe: JUMPDEST 000027ff: PUSH1 0x01 00002801: PUSH2 0x18b2 00002804: JUMP 00002805: JUMPDEST 00002806: SWAP5 00002807: POP 00002808: PUSH2 0x2812 0000280b: DUP6 0000280c: DUP9 0000280d: DUP9 0000280e: PUSH2 0x40c8 00002811: JUMP 00002812: JUMPDEST 00002813: POP 00002814: PUSH2 0x2189 00002817: DUP3 00002818: DUP3 00002819: DUP6 0000281a: PUSH2 0x4153 0000281d: JUMP 0000281e: JUMPDEST 0000281f: PUSH1 0x60 00002821: PUSH1 0x07 00002823: DUP1 00002824: SLOAD 00002825: PUSH2 0x0cc0 00002828: SWAP1 00002829: PUSH2 0x4f97 0000282c: JUMP 0000282d: JUMPDEST 0000282e: PUSH1 0x40 00002830: MLOAD 00002831: PUSH4 0x24745215 00002836: PUSH1 0xe2 00002838: SHL 00002839: DUP2 0000283a: MSTORE 0000283b: PUSH32 0x29f066ba98b1de62c9c969c781ec5d316c4e96752461c65aa1a1f8b71b818955 0000285c: SWAP1 0000285d: PUSH1 0x01 0000285f: PUSH1 0x01 00002861: PUSH1 0xa0 00002863: SHL 00002864: SUB 00002865: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00002886: AND 00002887: SWAP1 00002888: PUSH4 0x91d14854 0000288d: SWAP1 0000288e: PUSH2 0x289d 00002891: SWAP1 00002892: DUP5 00002893: SWAP1 00002894: CALLER 00002895: SWAP1 00002896: PUSH1 0x04 00002898: ADD 00002899: PUSH2 0x5228 0000289c: JUMP 0000289d: JUMPDEST 0000289e: PUSH1 0x20 000028a0: PUSH1 0x40 000028a2: MLOAD 000028a3: DUP1 000028a4: DUP4 000028a5: SUB 000028a6: DUP2 000028a7: DUP7 000028a8: GAS 000028a9: STATICCALL 000028aa: ISZERO 000028ab: DUP1 000028ac: ISZERO 000028ad: PUSH2 0x28ba 000028b0: JUMPI 000028b1: RETURNDATASIZE 000028b2: PUSH1 0x00 000028b4: DUP1 000028b5: RETURNDATACOPY 000028b6: RETURNDATASIZE 000028b7: PUSH1 0x00 000028b9: REVERT 000028ba: JUMPDEST 000028bb: POP 000028bc: POP 000028bd: POP 000028be: POP 000028bf: PUSH1 0x40 000028c1: MLOAD 000028c2: RETURNDATASIZE 000028c3: PUSH1 0x1f 000028c5: NOT 000028c6: PUSH1 0x1f 000028c8: DUP3 000028c9: ADD 000028ca: AND 000028cb: DUP3 000028cc: ADD 000028cd: DUP1 000028ce: PUSH1 0x40 000028d0: MSTORE 000028d1: POP 000028d2: DUP2 000028d3: ADD 000028d4: SWAP1 000028d5: PUSH2 0x28de 000028d8: SWAP2 000028d9: SWAP1 000028da: PUSH2 0x4fdb 000028dd: JUMP 000028de: JUMPDEST 000028df: PUSH2 0x28fb 000028e2: JUMPI 000028e3: PUSH1 0x40 000028e5: MLOAD 000028e6: PUSH4 0x4ca88867 000028eb: PUSH1 0xe0 000028ed: SHL 000028ee: DUP2 000028ef: MSTORE 000028f0: PUSH1 0x04 000028f2: ADD 000028f3: PUSH1 0x40 000028f5: MLOAD 000028f6: DUP1 000028f7: SWAP2 000028f8: SUB 000028f9: SWAP1 000028fa: REVERT 000028fb: JUMPDEST 000028fc: PUSH2 0x2926 000028ff: DUP4 00002900: PUSH1 0x40 00002902: MLOAD 00002903: DUP1 00002904: PUSH1 0x40 00002906: ADD 00002907: PUSH1 0x40 00002909: MSTORE 0000290a: DUP1 0000290b: PUSH1 0x09 0000290d: DUP2 0000290e: MSTORE 0000290f: PUSH1 0x20 00002911: ADD 00002912: PUSH9 0x1b995dd4de5b589bdb 0000291c: PUSH1 0xba 0000291e: SHL 0000291f: DUP2 00002920: MSTORE 00002921: POP 00002922: PUSH2 0x3c0b 00002925: JUMP 00002926: JUMPDEST 00002927: PUSH2 0x294f 0000292a: DUP3 0000292b: PUSH1 0x40 0000292d: MLOAD 0000292e: DUP1 0000292f: PUSH1 0x40 00002931: ADD 00002932: PUSH1 0x40 00002934: MSTORE 00002935: DUP1 00002936: PUSH1 0x07 00002938: DUP2 00002939: MSTORE 0000293a: PUSH1 0x20 0000293c: ADD 0000293d: PUSH7 0x6e65774e616d65 00002945: PUSH1 0xc8 00002947: SHL 00002948: DUP2 00002949: MSTORE 0000294a: POP 0000294b: PUSH2 0x3c0b 0000294e: JUMP 0000294f: JUMPDEST 00002950: PUSH1 0x00 00002952: PUSH1 0x0d 00002954: SLOAD 00002955: PUSH2 0x0100 00002958: SWAP1 00002959: DIV 0000295a: PUSH1 0xff 0000295c: AND 0000295d: PUSH1 0x02 0000295f: DUP2 00002960: GT 00002961: ISZERO 00002962: PUSH2 0x296d 00002965: JUMPI 00002966: PUSH2 0x296d 00002969: PUSH2 0x4ad6 0000296c: JUMP 0000296d: JUMPDEST 0000296e: SUB 0000296f: PUSH2 0x2997 00002972: JUMPI 00002973: PUSH1 0x0d 00002975: SLOAD 00002976: PUSH1 0x40 00002978: MLOAD 00002979: PUSH4 0x2b356531 0000297e: PUSH1 0xe2 00002980: SHL 00002981: DUP2 00002982: MSTORE 00002983: PUSH2 0x115a 00002986: SWAP2 00002987: PUSH2 0x0100 0000298a: SWAP1 0000298b: DIV 0000298c: PUSH1 0xff 0000298e: AND 0000298f: SWAP1 00002990: PUSH1 0x04 00002992: ADD 00002993: PUSH2 0x4b0a 00002996: JUMP 00002997: JUMPDEST 00002998: PUSH32 0xefef805604888de94f7456186b17b52a9aa89d786fe446638de8de83f20c5d1d 000029b9: DUP4 000029ba: DUP4 000029bb: PUSH1 0x40 000029bd: MLOAD 000029be: PUSH2 0x29c8 000029c1: SWAP3 000029c2: SWAP2 000029c3: SWAP1 000029c4: PUSH2 0x53bd 000029c7: JUMP 000029c8: JUMPDEST 000029c9: PUSH1 0x40 000029cb: MLOAD 000029cc: DUP1 000029cd: SWAP2 000029ce: SUB 000029cf: SWAP1 000029d0: LOG1 000029d1: PUSH1 0x07 000029d3: PUSH2 0x29dc 000029d6: DUP5 000029d7: DUP3 000029d8: PUSH2 0x5169 000029db: JUMP 000029dc: JUMPDEST 000029dd: POP 000029de: PUSH1 0x06 000029e0: PUSH2 0x29e9 000029e3: DUP4 000029e4: DUP3 000029e5: PUSH2 0x5169 000029e8: JUMP 000029e9: JUMPDEST 000029ea: POP 000029eb: POP 000029ec: POP 000029ed: POP 000029ee: JUMP 000029ef: JUMPDEST 000029f0: PUSH1 0x00 000029f2: PUSH2 0x29f9 000029f5: PUSH2 0x3be3 000029f8: JUMP 000029f9: JUMPDEST 000029fa: PUSH1 0x40 000029fc: MLOAD 000029fd: PUSH4 0x4d439f7f 00002a02: PUSH1 0xe0 00002a04: SHL 00002a05: DUP2 00002a06: MSTORE 00002a07: PUSH1 0x02 00002a09: PUSH1 0x04 00002a0b: DUP3 00002a0c: ADD 00002a0d: MSTORE 00002a0e: PUSH1 0x01 00002a10: PUSH1 0x01 00002a12: PUSH1 0xa0 00002a14: SHL 00002a15: SUB 00002a16: DUP5 00002a17: AND 00002a18: PUSH1 0x24 00002a1a: DUP3 00002a1b: ADD 00002a1c: MSTORE 00002a1d: PUSH1 0x44 00002a1f: DUP2 00002a20: ADD 00002a21: DUP4 00002a22: SWAP1 00002a23: MSTORE 00002a24: PUSH20 0x42699e483c5baa8e9aad5f7d804127c034a0328f 00002a39: SWAP1 00002a3a: PUSH4 0x4d439f7f 00002a3f: SWAP1 00002a40: PUSH1 0x64 00002a42: ADD 00002a43: PUSH2 0x0db5 00002a46: JUMP 00002a47: JUMPDEST 00002a48: PUSH1 0x40 00002a4a: MLOAD 00002a4b: PUSH4 0x105fbc17 00002a50: PUSH1 0xe1 00002a52: SHL 00002a53: DUP2 00002a54: MSTORE 00002a55: PUSH1 0x00 00002a57: SWAP1 00002a58: PUSH20 0x8709b88c5cbca830d63f726a6f6f8c6573486223 00002a6d: SWAP1 00002a6e: PUSH4 0x20bf782e 00002a73: SWAP1 00002a74: PUSH2 0x237a 00002a77: SWAP1 00002a78: PUSH1 0x1e 00002a7a: SWAP1 00002a7b: DUP7 00002a7c: SWAP1 00002a7d: PUSH1 0x04 00002a7f: ADD 00002a80: PUSH2 0x4f61 00002a83: JUMP 00002a84: JUMPDEST 00002a85: PUSH1 0x40 00002a87: MLOAD 00002a88: PUSH4 0x24745215 00002a8d: PUSH1 0xe2 00002a8f: SHL 00002a90: DUP2 00002a91: MSTORE 00002a92: PUSH32 0x9f359c53986b24240c7294fef1abdaf22ae1e4cff9fc850868d5141eb3a4a24f 00002ab3: SWAP1 00002ab4: PUSH1 0x01 00002ab6: PUSH1 0x01 00002ab8: PUSH1 0xa0 00002aba: SHL 00002abb: SUB 00002abc: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00002add: AND 00002ade: SWAP1 00002adf: PUSH4 0x91d14854 00002ae4: SWAP1 00002ae5: PUSH2 0x2af4 00002ae8: SWAP1 00002ae9: DUP5 00002aea: SWAP1 00002aeb: CALLER 00002aec: SWAP1 00002aed: PUSH1 0x04 00002aef: ADD 00002af0: PUSH2 0x5228 00002af3: JUMP 00002af4: JUMPDEST 00002af5: PUSH1 0x20 00002af7: PUSH1 0x40 00002af9: MLOAD 00002afa: DUP1 00002afb: DUP4 00002afc: SUB 00002afd: DUP2 00002afe: DUP7 00002aff: GAS 00002b00: STATICCALL 00002b01: ISZERO 00002b02: DUP1 00002b03: ISZERO 00002b04: PUSH2 0x2b11 00002b07: JUMPI 00002b08: RETURNDATASIZE 00002b09: PUSH1 0x00 00002b0b: DUP1 00002b0c: RETURNDATACOPY 00002b0d: RETURNDATASIZE 00002b0e: PUSH1 0x00 00002b10: REVERT 00002b11: JUMPDEST 00002b12: POP 00002b13: POP 00002b14: POP 00002b15: POP 00002b16: PUSH1 0x40 00002b18: MLOAD 00002b19: RETURNDATASIZE 00002b1a: PUSH1 0x1f 00002b1c: NOT 00002b1d: PUSH1 0x1f 00002b1f: DUP3 00002b20: ADD 00002b21: AND 00002b22: DUP3 00002b23: ADD 00002b24: DUP1 00002b25: PUSH1 0x40 00002b27: MSTORE 00002b28: POP 00002b29: DUP2 00002b2a: ADD 00002b2b: SWAP1 00002b2c: PUSH2 0x2b35 00002b2f: SWAP2 00002b30: SWAP1 00002b31: PUSH2 0x4fdb 00002b34: JUMP 00002b35: JUMPDEST 00002b36: PUSH2 0x2b52 00002b39: JUMPI 00002b3a: PUSH1 0x40 00002b3c: MLOAD 00002b3d: PUSH4 0x4ca88867 00002b42: PUSH1 0xe0 00002b44: SHL 00002b45: DUP2 00002b46: MSTORE 00002b47: PUSH1 0x04 00002b49: ADD 00002b4a: PUSH1 0x40 00002b4c: MLOAD 00002b4d: DUP1 00002b4e: SWAP2 00002b4f: SUB 00002b50: SWAP1 00002b51: REVERT 00002b52: JUMPDEST 00002b53: PUSH1 0x40 00002b55: MLOAD 00002b56: PUSH4 0xa6b8b9b9 00002b5b: PUSH1 0xe0 00002b5d: SHL 00002b5e: DUP2 00002b5f: MSTORE 00002b60: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 00002b75: SWAP1 00002b76: PUSH4 0xa6b8b9b9 00002b7b: SWAP1 00002b7c: PUSH2 0x229f 00002b7f: SWAP1 00002b80: PUSH1 0x14 00002b82: SWAP1 00002b83: DUP7 00002b84: SWAP1 00002b85: PUSH1 0x04 00002b87: ADD 00002b88: PUSH2 0x5228 00002b8b: JUMP 00002b8c: JUMPDEST 00002b8d: PUSH1 0x00 00002b8f: DUP1 00002b90: PUSH2 0x2b99 00002b93: PUSH1 0x01 00002b95: PUSH2 0x3b96 00002b98: JUMP 00002b99: JUMPDEST 00002b9a: SWAP1 00002b9b: POP 00002b9c: PUSH2 0x2ba8 00002b9f: DUP4 00002ba0: DUP3 00002ba1: PUSH2 0x27fe 00002ba4: PUSH2 0x0f45 00002ba7: JUMP 00002ba8: JUMPDEST 00002ba9: SWAP2 00002baa: POP 00002bab: PUSH2 0x2bd2 00002bae: DUP3 00002baf: PUSH1 0x40 00002bb1: MLOAD 00002bb2: DUP1 00002bb3: PUSH1 0x40 00002bb5: ADD 00002bb6: PUSH1 0x40 00002bb8: MSTORE 00002bb9: DUP1 00002bba: PUSH1 0x06 00002bbc: DUP2 00002bbd: MSTORE 00002bbe: PUSH1 0x20 00002bc0: ADD 00002bc1: PUSH6 0x617373657473 00002bc8: PUSH1 0xd0 00002bca: SHL 00002bcb: DUP2 00002bcc: MSTORE 00002bcd: POP 00002bce: PUSH2 0x40a5 00002bd1: JUMP 00002bd2: JUMPDEST 00002bd3: POP 00002bd4: SWAP2 00002bd5: SWAP1 00002bd6: POP 00002bd7: JUMP 00002bd8: JUMPDEST 00002bd9: PUSH1 0x00 00002bdb: PUSH2 0x2be2 00002bde: PUSH2 0x3d46 00002be1: JUMP 00002be2: JUMPDEST 00002be3: PUSH2 0x2bea 00002be6: PUSH2 0x3be3 00002be9: JUMP 00002bea: JUMPDEST 00002beb: PUSH1 0x02 00002bed: PUSH1 0x00 00002bef: DUP1 00002bf0: PUSH2 0x2bf8 00002bf3: DUP4 00002bf4: PUSH2 0x3f59 00002bf7: JUMP 00002bf8: JUMPDEST 00002bf9: SWAP2 00002bfa: POP 00002bfb: SWAP2 00002bfc: POP 00002bfd: PUSH2 0x2c04 00002c00: PUSH2 0x3fa1 00002c03: JUMP 00002c04: JUMPDEST 00002c05: PUSH2 0x2c2c 00002c08: DUP8 00002c09: PUSH1 0x40 00002c0b: MLOAD 00002c0c: DUP1 00002c0d: PUSH1 0x40 00002c0f: ADD 00002c10: PUSH1 0x40 00002c12: MSTORE 00002c13: DUP1 00002c14: PUSH1 0x06 00002c16: DUP2 00002c17: MSTORE 00002c18: PUSH1 0x20 00002c1a: ADD 00002c1b: PUSH6 0x617373657473 00002c22: PUSH1 0xd0 00002c24: SHL 00002c25: DUP2 00002c26: MSTORE 00002c27: POP 00002c28: PUSH2 0x40a5 00002c2b: JUMP 00002c2c: JUMPDEST 00002c2d: PUSH1 0x00 00002c2f: DUP1 00002c30: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00002c45: PUSH4 0x6472d211 00002c4a: DUP11 00002c4b: PUSH2 0x2c54 00002c4e: PUSH1 0x02 00002c50: PUSH2 0x3b96 00002c53: JUMP 00002c54: JUMPDEST 00002c55: PUSH1 0x40 00002c57: MLOAD 00002c58: PUSH1 0x01 00002c5a: PUSH1 0x01 00002c5c: PUSH1 0xe0 00002c5e: SHL 00002c5f: SUB 00002c60: NOT 00002c61: PUSH1 0xe0 00002c63: DUP6 00002c64: SWAP1 00002c65: SHL 00002c66: AND 00002c67: DUP2 00002c68: MSTORE 00002c69: PUSH1 0x04 00002c6b: DUP2 00002c6c: ADD 00002c6d: SWAP3 00002c6e: SWAP1 00002c6f: SWAP3 00002c70: MSTORE 00002c71: PUSH1 0x24 00002c73: DUP3 00002c74: ADD 00002c75: MSTORE 00002c76: PUSH1 0x1e 00002c78: PUSH1 0x44 00002c7a: DUP3 00002c7b: ADD 00002c7c: MSTORE 00002c7d: PUSH1 0x0e 00002c7f: PUSH1 0x64 00002c81: DUP3 00002c82: ADD 00002c83: MSTORE 00002c84: PUSH1 0x0c 00002c86: PUSH1 0x84 00002c88: DUP3 00002c89: ADD 00002c8a: MSTORE 00002c8b: PUSH1 0xa4 00002c8d: ADD 00002c8e: PUSH1 0x60 00002c90: PUSH1 0x40 00002c92: MLOAD 00002c93: DUP1 00002c94: DUP4 00002c95: SUB 00002c96: DUP2 00002c97: DUP7 00002c98: GAS 00002c99: DELEGATECALL 00002c9a: ISZERO 00002c9b: DUP1 00002c9c: ISZERO 00002c9d: PUSH2 0x2caa 00002ca0: JUMPI 00002ca1: RETURNDATASIZE 00002ca2: PUSH1 0x00 00002ca4: DUP1 00002ca5: RETURNDATACOPY 00002ca6: RETURNDATASIZE 00002ca7: PUSH1 0x00 00002ca9: REVERT 00002caa: JUMPDEST 00002cab: POP 00002cac: POP 00002cad: POP 00002cae: POP 00002caf: PUSH1 0x40 00002cb1: MLOAD 00002cb2: RETURNDATASIZE 00002cb3: PUSH1 0x1f 00002cb5: NOT 00002cb6: PUSH1 0x1f 00002cb8: DUP3 00002cb9: ADD 00002cba: AND 00002cbb: DUP3 00002cbc: ADD 00002cbd: DUP1 00002cbe: PUSH1 0x40 00002cc0: MSTORE 00002cc1: POP 00002cc2: DUP2 00002cc3: ADD 00002cc4: SWAP1 00002cc5: PUSH2 0x2cce 00002cc8: SWAP2 00002cc9: SWAP1 00002cca: PUSH2 0x53e2 00002ccd: JUMP 00002cce: JUMPDEST 00002ccf: POP 00002cd0: SWAP2 00002cd1: POP 00002cd2: SWAP2 00002cd3: POP 00002cd4: DUP1 00002cd5: SWAP6 00002cd6: POP 00002cd7: PUSH2 0x2ce2 00002cda: DUP3 00002cdb: DUP8 00002cdc: DUP10 00002cdd: DUP12 00002cde: PUSH2 0x41c5 00002ce1: JUMP 00002ce2: JUMPDEST 00002ce3: POP 00002ce4: POP 00002ce5: PUSH2 0x2cef 00002ce8: DUP3 00002ce9: DUP3 00002cea: DUP6 00002ceb: PUSH2 0x4153 00002cee: JUMP 00002cef: JUMPDEST 00002cf0: POP 00002cf1: POP 00002cf2: POP 00002cf3: PUSH2 0x0df6 00002cf6: PUSH1 0x01 00002cf8: DUP1 00002cf9: SSTORE 00002cfa: JUMP 00002cfb: JUMPDEST 00002cfc: PUSH1 0x40 00002cfe: MLOAD 00002cff: PUSH4 0x1f931289 00002d04: PUSH1 0xe0 00002d06: SHL 00002d07: DUP2 00002d08: MSTORE 00002d09: PUSH1 0x10 00002d0b: PUSH1 0x04 00002d0d: DUP3 00002d0e: ADD 00002d0f: MSTORE 00002d10: PUSH1 0x60 00002d12: SWAP1 00002d13: PUSH20 0xf19c66cb159246e00b5336b1ce4b4e8e01e4e4b4 00002d28: SWAP1 00002d29: PUSH4 0x1f931289 00002d2e: SWAP1 00002d2f: PUSH1 0x24 00002d31: ADD 00002d32: PUSH2 0x0f00 00002d35: JUMP 00002d36: JUMPDEST 00002d37: PUSH1 0x00 00002d39: PUSH2 0x2d40 00002d3c: PUSH2 0x3d46 00002d3f: JUMP 00002d40: JUMPDEST 00002d41: PUSH2 0x2d48 00002d44: PUSH2 0x3be3 00002d47: JUMP 00002d48: JUMPDEST 00002d49: PUSH1 0x02 00002d4b: PUSH1 0x00 00002d4d: DUP1 00002d4e: PUSH2 0x2d56 00002d51: DUP4 00002d52: PUSH2 0x3f59 00002d55: JUMP 00002d56: JUMPDEST 00002d57: SWAP2 00002d58: POP 00002d59: SWAP2 00002d5a: POP 00002d5b: PUSH2 0x2d62 00002d5e: PUSH2 0x3fa1 00002d61: JUMP 00002d62: JUMPDEST 00002d63: PUSH1 0x00 00002d65: PUSH2 0x2d6e 00002d68: PUSH1 0x02 00002d6a: PUSH2 0x3b96 00002d6d: JUMP 00002d6e: JUMPDEST 00002d6f: SWAP1 00002d70: POP 00002d71: PUSH1 0x00 00002d73: PUSH2 0x2d7c 00002d76: DUP8 00002d77: DUP4 00002d78: PUSH2 0x4282 00002d7b: JUMP 00002d7c: JUMPDEST 00002d7d: SWAP1 00002d7e: POP 00002d7f: DUP1 00002d80: DUP10 00002d81: GT 00002d82: ISZERO 00002d83: PUSH2 0x2db8 00002d86: JUMPI 00002d87: PUSH1 0x40 00002d89: MLOAD 00002d8a: PUSH4 0x2e52afbb 00002d8f: PUSH1 0xe2 00002d91: SHL 00002d92: DUP2 00002d93: MSTORE 00002d94: PUSH1 0x01 00002d96: PUSH1 0x01 00002d98: PUSH1 0xa0 00002d9a: SHL 00002d9b: SUB 00002d9c: DUP9 00002d9d: AND 00002d9e: PUSH1 0x04 00002da0: DUP3 00002da1: ADD 00002da2: MSTORE 00002da3: PUSH1 0x24 00002da5: DUP2 00002da6: ADD 00002da7: DUP11 00002da8: SWAP1 00002da9: MSTORE 00002daa: PUSH1 0x44 00002dac: DUP2 00002dad: ADD 00002dae: DUP3 00002daf: SWAP1 00002db0: MSTORE 00002db1: PUSH1 0x64 00002db3: ADD 00002db4: PUSH2 0x115a 00002db7: JUMP 00002db8: JUMPDEST 00002db9: PUSH1 0x00 00002dbb: PUSH2 0x2dc7 00002dbe: DUP11 00002dbf: DUP5 00002dc0: PUSH2 0x0d5b 00002dc3: PUSH2 0x0f45 00002dc6: JUMP 00002dc7: JUMPDEST 00002dc8: SWAP1 00002dc9: POP 00002dca: PUSH2 0x2df9 00002dcd: DUP2 00002dce: PUSH1 0x40 00002dd0: MLOAD 00002dd1: DUP1 00002dd2: PUSH1 0x40 00002dd4: ADD 00002dd5: PUSH1 0x40 00002dd7: MSTORE 00002dd8: DUP1 00002dd9: PUSH1 0x0e 00002ddb: DUP2 00002ddc: MSTORE 00002ddd: PUSH1 0x20 00002ddf: ADD 00002de0: PUSH14 0x706f737369626c65417373657473 00002def: PUSH1 0x90 00002df1: SHL 00002df2: DUP2 00002df3: MSTORE 00002df4: POP 00002df5: PUSH2 0x40a5 00002df8: JUMP 00002df9: JUMPDEST 00002dfa: PUSH1 0x40 00002dfc: MLOAD 00002dfd: PUSH4 0x2ddb2615 00002e02: PUSH1 0xe2 00002e04: SHL 00002e05: DUP2 00002e06: MSTORE 00002e07: PUSH1 0x04 00002e09: DUP2 00002e0a: ADD 00002e0b: DUP3 00002e0c: SWAP1 00002e0d: MSTORE 00002e0e: PUSH1 0x24 00002e10: DUP2 00002e11: ADD 00002e12: DUP5 00002e13: SWAP1 00002e14: MSTORE 00002e15: PUSH1 0x1e 00002e17: PUSH1 0x44 00002e19: DUP3 00002e1a: ADD 00002e1b: MSTORE 00002e1c: PUSH1 0x0e 00002e1e: PUSH1 0x64 00002e20: DUP3 00002e21: ADD 00002e22: MSTORE 00002e23: PUSH1 0x0c 00002e25: PUSH1 0x84 00002e27: DUP3 00002e28: ADD 00002e29: MSTORE 00002e2a: PUSH1 0x00 00002e2c: SWAP1 00002e2d: DUP2 00002e2e: SWAP1 00002e2f: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00002e44: SWAP1 00002e45: PUSH4 0xb76c9854 00002e4a: SWAP1 00002e4b: PUSH1 0xa4 00002e4d: ADD 00002e4e: PUSH1 0x60 00002e50: PUSH1 0x40 00002e52: MLOAD 00002e53: DUP1 00002e54: DUP4 00002e55: SUB 00002e56: DUP2 00002e57: DUP7 00002e58: GAS 00002e59: DELEGATECALL 00002e5a: ISZERO 00002e5b: DUP1 00002e5c: ISZERO 00002e5d: PUSH2 0x2e6a 00002e60: JUMPI 00002e61: RETURNDATASIZE 00002e62: PUSH1 0x00 00002e64: DUP1 00002e65: RETURNDATACOPY 00002e66: RETURNDATASIZE 00002e67: PUSH1 0x00 00002e69: REVERT 00002e6a: JUMPDEST 00002e6b: POP 00002e6c: POP 00002e6d: POP 00002e6e: POP 00002e6f: PUSH1 0x40 00002e71: MLOAD 00002e72: RETURNDATASIZE 00002e73: PUSH1 0x1f 00002e75: NOT 00002e76: PUSH1 0x1f 00002e78: DUP3 00002e79: ADD 00002e7a: AND 00002e7b: DUP3 00002e7c: ADD 00002e7d: DUP1 00002e7e: PUSH1 0x40 00002e80: MSTORE 00002e81: POP 00002e82: DUP2 00002e83: ADD 00002e84: SWAP1 00002e85: PUSH2 0x2e8e 00002e88: SWAP2 00002e89: SWAP1 00002e8a: PUSH2 0x53e2 00002e8d: JUMP 00002e8e: JUMPDEST 00002e8f: POP 00002e90: SWAP2 00002e91: POP 00002e92: SWAP2 00002e93: POP 00002e94: DUP2 00002e95: SWAP9 00002e96: POP 00002e97: DUP12 00002e98: DUP2 00002e99: GT 00002e9a: ISZERO 00002e9b: PUSH2 0x2ea6 00002e9e: JUMPI 00002e9f: PUSH2 0x2ea6 00002ea2: PUSH2 0x5410 00002ea5: JUMP 00002ea6: JUMPDEST 00002ea7: PUSH2 0x2eb2 00002eaa: DUP10 00002eab: DUP14 00002eac: DUP13 00002ead: DUP15 00002eae: PUSH2 0x41c5 00002eb1: JUMP 00002eb2: JUMPDEST 00002eb3: POP 00002eb4: POP 00002eb5: POP 00002eb6: POP 00002eb7: POP 00002eb8: PUSH2 0x2cef 00002ebb: DUP3 00002ebc: DUP3 00002ebd: DUP6 00002ebe: PUSH2 0x4153 00002ec1: JUMP 00002ec2: JUMPDEST 00002ec3: PUSH1 0x00 00002ec5: PUSH2 0x0d62 00002ec8: PUSH1 0x08 00002eca: DUP4 00002ecb: PUSH2 0x3c9d 00002ece: JUMP 00002ecf: JUMPDEST 00002ed0: PUSH1 0x40 00002ed2: MLOAD 00002ed3: PUSH4 0x24745215 00002ed8: PUSH1 0xe2 00002eda: SHL 00002edb: DUP2 00002edc: MSTORE 00002edd: PUSH32 0x712b73613835f525c3c675d2245c737ba70afbd0b97264479c97d623f2141594 00002efe: SWAP1 00002eff: PUSH1 0x01 00002f01: PUSH1 0x01 00002f03: PUSH1 0xa0 00002f05: SHL 00002f06: SUB 00002f07: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00002f28: AND 00002f29: SWAP1 00002f2a: PUSH4 0x91d14854 00002f2f: SWAP1 00002f30: PUSH2 0x2f3f 00002f33: SWAP1 00002f34: DUP5 00002f35: SWAP1 00002f36: CALLER 00002f37: SWAP1 00002f38: PUSH1 0x04 00002f3a: ADD 00002f3b: PUSH2 0x5228 00002f3e: JUMP 00002f3f: JUMPDEST 00002f40: PUSH1 0x20 00002f42: PUSH1 0x40 00002f44: MLOAD 00002f45: DUP1 00002f46: DUP4 00002f47: SUB 00002f48: DUP2 00002f49: DUP7 00002f4a: GAS 00002f4b: STATICCALL 00002f4c: ISZERO 00002f4d: DUP1 00002f4e: ISZERO 00002f4f: PUSH2 0x2f5c 00002f52: JUMPI 00002f53: RETURNDATASIZE 00002f54: PUSH1 0x00 00002f56: DUP1 00002f57: RETURNDATACOPY 00002f58: RETURNDATASIZE 00002f59: PUSH1 0x00 00002f5b: REVERT 00002f5c: JUMPDEST 00002f5d: POP 00002f5e: POP 00002f5f: POP 00002f60: POP 00002f61: PUSH1 0x40 00002f63: MLOAD 00002f64: RETURNDATASIZE 00002f65: PUSH1 0x1f 00002f67: NOT 00002f68: PUSH1 0x1f 00002f6a: DUP3 00002f6b: ADD 00002f6c: AND 00002f6d: DUP3 00002f6e: ADD 00002f6f: DUP1 00002f70: PUSH1 0x40 00002f72: MSTORE 00002f73: POP 00002f74: DUP2 00002f75: ADD 00002f76: SWAP1 00002f77: PUSH2 0x2f80 00002f7a: SWAP2 00002f7b: SWAP1 00002f7c: PUSH2 0x4fdb 00002f7f: JUMP 00002f80: JUMPDEST 00002f81: PUSH2 0x2f9d 00002f84: JUMPI 00002f85: PUSH1 0x40 00002f87: MLOAD 00002f88: PUSH4 0x4ca88867 00002f8d: PUSH1 0xe0 00002f8f: SHL 00002f90: DUP2 00002f91: MSTORE 00002f92: PUSH1 0x04 00002f94: ADD 00002f95: PUSH1 0x40 00002f97: MLOAD 00002f98: DUP1 00002f99: SWAP2 00002f9a: SUB 00002f9b: SWAP1 00002f9c: REVERT 00002f9d: JUMPDEST 00002f9e: PUSH1 0x40 00002fa0: MLOAD 00002fa1: PUSH4 0x17df127d 00002fa6: PUSH1 0xe3 00002fa8: SHL 00002fa9: DUP2 00002faa: MSTORE 00002fab: PUSH20 0x8709b88c5cbca830d63f726a6f6f8c6573486223 00002fc0: SWAP1 00002fc1: PUSH4 0xbef893e8 00002fc6: SWAP1 00002fc7: PUSH2 0x2fde 00002fca: SWAP1 00002fcb: DUP11 00002fcc: SWAP1 00002fcd: DUP11 00002fce: SWAP1 00002fcf: DUP11 00002fd0: SWAP1 00002fd1: DUP11 00002fd2: SWAP1 00002fd3: DUP11 00002fd4: SWAP1 00002fd5: DUP11 00002fd6: SWAP1 00002fd7: PUSH1 0x04 00002fd9: ADD 00002fda: PUSH2 0x5426 00002fdd: JUMP 00002fde: JUMPDEST 00002fdf: PUSH1 0x00 00002fe1: PUSH1 0x40 00002fe3: MLOAD 00002fe4: DUP1 00002fe5: DUP4 00002fe6: SUB 00002fe7: DUP2 00002fe8: DUP7 00002fe9: DUP1 00002fea: EXTCODESIZE 00002feb: ISZERO 00002fec: DUP1 00002fed: ISZERO 00002fee: PUSH2 0x2ff6 00002ff1: JUMPI 00002ff2: PUSH1 0x00 00002ff4: DUP1 00002ff5: REVERT 00002ff6: JUMPDEST 00002ff7: POP 00002ff8: GAS 00002ff9: DELEGATECALL 00002ffa: ISZERO 00002ffb: DUP1 00002ffc: ISZERO 00002ffd: PUSH2 0x300a 00003000: JUMPI 00003001: RETURNDATASIZE 00003002: PUSH1 0x00 00003004: DUP1 00003005: RETURNDATACOPY 00003006: RETURNDATASIZE 00003007: PUSH1 0x00 00003009: REVERT 0000300a: JUMPDEST 0000300b: POP 0000300c: POP 0000300d: POP 0000300e: POP 0000300f: POP 00003010: POP 00003011: POP 00003012: POP 00003013: POP 00003014: POP 00003015: POP 00003016: JUMP 00003017: JUMPDEST 00003018: PUSH1 0x00 0000301a: PUSH20 0x8709b88c5cbca830d63f726a6f6f8c6573486223 0000302f: PUSH4 0x0c46897a 00003034: PUSH1 0x02 00003036: PUSH1 0x12 00003038: PUSH1 0x10 0000303a: PUSH1 0x0c 0000303c: DUP8 0000303d: PUSH2 0x3044 00003040: PUSH2 0x1ea5 00003043: JUMP 00003044: JUMPDEST 00003045: PUSH1 0x0d 00003047: SLOAD 00003048: PUSH1 0x40 0000304a: MLOAD 0000304b: PUSH1 0xe0 0000304d: DUP10 0000304e: SWAP1 0000304f: SHL 00003050: PUSH1 0x01 00003052: PUSH1 0x01 00003054: PUSH1 0xe0 00003056: SHL 00003057: SUB 00003058: NOT 00003059: AND 0000305a: DUP2 0000305b: MSTORE 0000305c: PUSH1 0x04 0000305e: DUP2 0000305f: ADD 00003060: SWAP8 00003061: SWAP1 00003062: SWAP8 00003063: MSTORE 00003064: PUSH1 0x24 00003066: DUP8 00003067: ADD 00003068: SWAP6 00003069: SWAP1 0000306a: SWAP6 0000306b: MSTORE 0000306c: PUSH1 0x44 0000306e: DUP7 0000306f: ADD 00003070: SWAP4 00003071: SWAP1 00003072: SWAP4 00003073: MSTORE 00003074: PUSH1 0x64 00003076: DUP6 00003077: ADD 00003078: SWAP2 00003079: SWAP1 0000307a: SWAP2 0000307b: MSTORE 0000307c: PUSH1 0x01 0000307e: PUSH1 0x01 00003080: PUSH1 0xa0 00003082: SHL 00003083: SUB 00003084: AND 00003085: PUSH1 0x84 00003087: DUP5 00003088: ADD 00003089: MSTORE 0000308a: ISZERO 0000308b: ISZERO 0000308c: PUSH1 0xa4 0000308e: DUP4 0000308f: ADD 00003090: MSTORE 00003091: PUSH1 0xff 00003093: AND 00003094: ISZERO 00003095: ISZERO 00003096: PUSH1 0xc4 00003098: DUP3 00003099: ADD 0000309a: MSTORE 0000309b: PUSH1 0xe4 0000309d: ADD 0000309e: PUSH2 0x237a 000030a1: JUMP 000030a2: JUMPDEST 000030a3: PUSH1 0x00 000030a5: PUSH2 0x0d62 000030a8: DUP3 000030a9: PUSH2 0x30b2 000030ac: PUSH1 0x00 000030ae: PUSH2 0x2a47 000030b1: JUMP 000030b2: JUMPDEST 000030b3: PUSH2 0x2140 000030b6: PUSH2 0x0f45 000030b9: JUMP 000030ba: JUMPDEST 000030bb: PUSH1 0x40 000030bd: MLOAD 000030be: PUSH4 0x24745215 000030c3: PUSH1 0xe2 000030c5: SHL 000030c6: DUP2 000030c7: MSTORE 000030c8: PUSH32 0x9f359c53986b24240c7294fef1abdaf22ae1e4cff9fc850868d5141eb3a4a24f 000030e9: SWAP1 000030ea: PUSH1 0x01 000030ec: PUSH1 0x01 000030ee: PUSH1 0xa0 000030f0: SHL 000030f1: SUB 000030f2: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00003113: AND 00003114: SWAP1 00003115: PUSH4 0x91d14854 0000311a: SWAP1 0000311b: PUSH2 0x312a 0000311e: SWAP1 0000311f: DUP5 00003120: SWAP1 00003121: CALLER 00003122: SWAP1 00003123: PUSH1 0x04 00003125: ADD 00003126: PUSH2 0x5228 00003129: JUMP 0000312a: JUMPDEST 0000312b: PUSH1 0x20 0000312d: PUSH1 0x40 0000312f: MLOAD 00003130: DUP1 00003131: DUP4 00003132: SUB 00003133: DUP2 00003134: DUP7 00003135: GAS 00003136: STATICCALL 00003137: ISZERO 00003138: DUP1 00003139: ISZERO 0000313a: PUSH2 0x3147 0000313d: JUMPI 0000313e: RETURNDATASIZE 0000313f: PUSH1 0x00 00003141: DUP1 00003142: RETURNDATACOPY 00003143: RETURNDATASIZE 00003144: PUSH1 0x00 00003146: REVERT 00003147: JUMPDEST 00003148: POP 00003149: POP 0000314a: POP 0000314b: POP 0000314c: PUSH1 0x40 0000314e: MLOAD 0000314f: RETURNDATASIZE 00003150: PUSH1 0x1f 00003152: NOT 00003153: PUSH1 0x1f 00003155: DUP3 00003156: ADD 00003157: AND 00003158: DUP3 00003159: ADD 0000315a: DUP1 0000315b: PUSH1 0x40 0000315d: MSTORE 0000315e: POP 0000315f: DUP2 00003160: ADD 00003161: SWAP1 00003162: PUSH2 0x316b 00003165: SWAP2 00003166: SWAP1 00003167: PUSH2 0x4fdb 0000316a: JUMP 0000316b: JUMPDEST 0000316c: PUSH2 0x3188 0000316f: JUMPI 00003170: PUSH1 0x40 00003172: MLOAD 00003173: PUSH4 0x4ca88867 00003178: PUSH1 0xe0 0000317a: SHL 0000317b: DUP2 0000317c: MSTORE 0000317d: PUSH1 0x04 0000317f: ADD 00003180: PUSH1 0x40 00003182: MLOAD 00003183: DUP1 00003184: SWAP2 00003185: SUB 00003186: SWAP1 00003187: REVERT 00003188: JUMPDEST 00003189: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 0000319e: PUSH4 0xc397d6b5 000031a3: PUSH1 0x14 000031a5: DUP5 000031a6: PUSH2 0x31ad 000031a9: PUSH2 0x19da 000031ac: JUMP 000031ad: JUMPDEST 000031ae: PUSH1 0x10 000031b0: SLOAD 000031b1: PUSH1 0x40 000031b3: MLOAD 000031b4: PUSH1 0xe0 000031b6: DUP7 000031b7: SWAP1 000031b8: SHL 000031b9: PUSH1 0x01 000031bb: PUSH1 0x01 000031bd: PUSH1 0xe0 000031bf: SHL 000031c0: SUB 000031c1: NOT 000031c2: AND 000031c3: DUP2 000031c4: MSTORE 000031c5: PUSH1 0x04 000031c7: DUP2 000031c8: ADD 000031c9: SWAP5 000031ca: SWAP1 000031cb: SWAP5 000031cc: MSTORE 000031cd: PUSH1 0x24 000031cf: DUP5 000031d0: ADD 000031d1: SWAP3 000031d2: SWAP1 000031d3: SWAP3 000031d4: MSTORE 000031d5: PUSH1 0x44 000031d7: DUP4 000031d8: ADD 000031d9: MSTORE 000031da: PUSH1 0x64 000031dc: DUP3 000031dd: ADD 000031de: MSTORE 000031df: PUSH1 0x84 000031e1: ADD 000031e2: PUSH2 0x229f 000031e5: JUMP 000031e6: JUMPDEST 000031e7: PUSH1 0x00 000031e9: DUP1 000031ea: PUSH2 0x31f2 000031ed: DUP4 000031ee: PUSH2 0x232d 000031f1: JUMP 000031f2: JUMPDEST 000031f3: SWAP1 000031f4: POP 000031f5: PUSH1 0x00 000031f7: PUSH2 0x3200 000031fa: PUSH1 0x02 000031fc: PUSH2 0x3b96 000031ff: JUMP 00003200: JUMPDEST 00003201: SWAP1 00003202: POP 00003203: PUSH2 0x320a 00003206: PUSH2 0x1ea5 00003209: JUMP 0000320a: JUMPDEST 0000320b: DUP1 0000320c: PUSH2 0x3213 0000320f: JUMPI 00003210: POP 00003211: DUP2 00003212: ISZERO 00003213: JUMPDEST 00003214: DUP1 00003215: PUSH2 0x321c 00003218: JUMPI 00003219: POP 0000321a: DUP1 0000321b: ISZERO 0000321c: JUMPDEST 0000321d: ISZERO 0000321e: PUSH2 0x322b 00003221: JUMPI 00003222: POP 00003223: PUSH1 0x00 00003225: SWAP4 00003226: SWAP3 00003227: POP 00003228: POP 00003229: POP 0000322a: JUMP 0000322b: JUMPDEST 0000322c: PUSH1 0x00 0000322e: PUSH2 0x323a 00003231: DUP4 00003232: DUP4 00003233: PUSH2 0x0d5b 00003236: PUSH2 0x0f45 00003239: JUMP 0000323a: JUMPDEST 0000323b: SWAP1 0000323c: POP 0000323d: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00003252: PUSH4 0x443c0bff 00003257: PUSH1 0x01 00003259: DUP4 0000325a: DUP6 0000325b: ADDRESS 0000325c: PUSH1 0x01 0000325e: PUSH1 0x01 00003260: PUSH1 0xa0 00003262: SHL 00003263: SUB 00003264: AND 00003265: PUSH4 0x0a28a477 0000326a: DUP8 0000326b: PUSH1 0x40 0000326d: MLOAD 0000326e: PUSH1 0x24 00003270: ADD 00003271: PUSH2 0x327c 00003274: SWAP2 00003275: DUP2 00003276: MSTORE 00003277: PUSH1 0x20 00003279: ADD 0000327a: SWAP1 0000327b: JUMP 0000327c: JUMPDEST 0000327d: PUSH1 0x40 0000327f: DUP1 00003280: MLOAD 00003281: DUP1 00003282: DUP4 00003283: SUB 00003284: PUSH1 0x1f 00003286: NOT 00003287: ADD 00003288: DUP2 00003289: MSTORE 0000328a: SWAP2 0000328b: DUP2 0000328c: MSTORE 0000328d: PUSH1 0x20 0000328f: DUP3 00003290: ADD 00003291: DUP1 00003292: MLOAD 00003293: PUSH1 0xe0 00003295: SWAP5 00003296: DUP6 00003297: SHL 00003298: PUSH1 0x01 0000329a: PUSH1 0x01 0000329c: PUSH1 0xe0 0000329e: SHL 0000329f: SUB 000032a0: SWAP1 000032a1: SWAP2 000032a2: AND 000032a3: OR 000032a4: SWAP1 000032a5: MSTORE 000032a6: MLOAD 000032a7: SWAP2 000032a8: DUP8 000032a9: SWAP1 000032aa: SHL 000032ab: PUSH1 0x01 000032ad: PUSH1 0x01 000032af: PUSH1 0xe0 000032b1: SHL 000032b2: SUB 000032b3: NOT 000032b4: AND 000032b5: DUP3 000032b6: MSTORE 000032b7: PUSH2 0x32d0 000032ba: SWAP6 000032bb: SWAP5 000032bc: SWAP4 000032bd: SWAP3 000032be: POP 000032bf: SWAP1 000032c0: PUSH1 0x1e 000032c2: SWAP1 000032c3: PUSH1 0x0e 000032c5: SWAP1 000032c6: PUSH1 0x0c 000032c8: SWAP1 000032c9: PUSH1 0x04 000032cb: ADD 000032cc: PUSH2 0x4ff8 000032cf: JUMP 000032d0: JUMPDEST 000032d1: PUSH1 0x40 000032d3: DUP1 000032d4: MLOAD 000032d5: DUP1 000032d6: DUP4 000032d7: SUB 000032d8: DUP2 000032d9: DUP7 000032da: GAS 000032db: DELEGATECALL 000032dc: ISZERO 000032dd: DUP1 000032de: ISZERO 000032df: PUSH2 0x32ec 000032e2: JUMPI 000032e3: RETURNDATASIZE 000032e4: PUSH1 0x00 000032e6: DUP1 000032e7: RETURNDATACOPY 000032e8: RETURNDATASIZE 000032e9: PUSH1 0x00 000032eb: REVERT 000032ec: JUMPDEST 000032ed: POP 000032ee: POP 000032ef: POP 000032f0: POP 000032f1: PUSH1 0x40 000032f3: MLOAD 000032f4: RETURNDATASIZE 000032f5: PUSH1 0x1f 000032f7: NOT 000032f8: PUSH1 0x1f 000032fa: DUP3 000032fb: ADD 000032fc: AND 000032fd: DUP3 000032fe: ADD 000032ff: DUP1 00003300: PUSH1 0x40 00003302: MSTORE 00003303: POP 00003304: DUP2 00003305: ADD 00003306: SWAP1 00003307: PUSH2 0x3310 0000330a: SWAP2 0000330b: SWAP1 0000330c: PUSH2 0x503e 0000330f: JUMP 00003310: JUMPDEST 00003311: POP 00003312: SWAP6 00003313: SWAP5 00003314: POP 00003315: POP 00003316: POP 00003317: POP 00003318: POP 00003319: JUMP 0000331a: JUMPDEST 0000331b: PUSH1 0x40 0000331d: MLOAD 0000331e: PUSH4 0x3a35807d 00003323: PUSH1 0xe2 00003325: SHL 00003326: DUP2 00003327: MSTORE 00003328: PUSH1 0x02 0000332a: PUSH1 0x04 0000332c: DUP3 0000332d: ADD 0000332e: MSTORE 0000332f: PUSH1 0x01 00003331: PUSH1 0x01 00003333: PUSH1 0xa0 00003335: SHL 00003336: SUB 00003337: DUP1 00003338: DUP10 00003339: AND 0000333a: PUSH1 0x24 0000333c: DUP4 0000333d: ADD 0000333e: MSTORE 0000333f: DUP8 00003340: AND 00003341: PUSH1 0x44 00003343: DUP3 00003344: ADD 00003345: MSTORE 00003346: PUSH1 0x64 00003348: DUP2 00003349: ADD 0000334a: DUP7 0000334b: SWAP1 0000334c: MSTORE 0000334d: PUSH1 0x84 0000334f: DUP2 00003350: ADD 00003351: DUP6 00003352: SWAP1 00003353: MSTORE 00003354: PUSH1 0xff 00003356: DUP5 00003357: AND 00003358: PUSH1 0xa4 0000335a: DUP3 0000335b: ADD 0000335c: MSTORE 0000335d: PUSH1 0xc4 0000335f: DUP2 00003360: ADD 00003361: DUP4 00003362: SWAP1 00003363: MSTORE 00003364: PUSH1 0xe4 00003366: DUP2 00003367: ADD 00003368: DUP3 00003369: SWAP1 0000336a: MSTORE 0000336b: PUSH20 0x42699e483c5baa8e9aad5f7d804127c034a0328f 00003380: SWAP1 00003381: PUSH4 0xe8d601f4 00003386: SWAP1 00003387: PUSH2 0x0104 0000338a: ADD 0000338b: PUSH2 0x2fde 0000338e: JUMP 0000338f: JUMPDEST 00003390: PUSH1 0x00 00003392: PUSH2 0x0d62 00003395: DUP3 00003396: PUSH2 0x339f 00003399: PUSH1 0x02 0000339b: PUSH2 0x3b96 0000339e: JUMP 0000339f: JUMPDEST 000033a0: PUSH2 0x4282 000033a3: JUMP 000033a4: JUMPDEST 000033a5: PUSH1 0x40 000033a7: MLOAD 000033a8: PUSH4 0x25ae9ed1 000033ad: PUSH1 0xe0 000033af: SHL 000033b0: DUP2 000033b1: MSTORE 000033b2: PUSH1 0x12 000033b4: PUSH1 0x04 000033b6: DUP3 000033b7: ADD 000033b8: MSTORE 000033b9: PUSH1 0x02 000033bb: PUSH1 0x24 000033bd: DUP3 000033be: ADD 000033bf: MSTORE 000033c0: PUSH1 0x00 000033c2: SWAP1 000033c3: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 000033d8: SWAP1 000033d9: PUSH4 0x25ae9ed1 000033de: SWAP1 000033df: PUSH1 0x44 000033e1: ADD 000033e2: PUSH2 0x0c6b 000033e5: JUMP 000033e6: JUMPDEST 000033e7: PUSH1 0x40 000033e9: MLOAD 000033ea: PUSH4 0x24745215 000033ef: PUSH1 0xe2 000033f1: SHL 000033f2: DUP2 000033f3: MSTORE 000033f4: PUSH32 0x29f066ba98b1de62c9c969c781ec5d316c4e96752461c65aa1a1f8b71b818955 00003415: SWAP1 00003416: PUSH1 0x01 00003418: PUSH1 0x01 0000341a: PUSH1 0xa0 0000341c: SHL 0000341d: SUB 0000341e: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 0000343f: AND 00003440: SWAP1 00003441: PUSH4 0x91d14854 00003446: SWAP1 00003447: PUSH2 0x3456 0000344a: SWAP1 0000344b: DUP5 0000344c: SWAP1 0000344d: CALLER 0000344e: SWAP1 0000344f: PUSH1 0x04 00003451: ADD 00003452: PUSH2 0x5228 00003455: JUMP 00003456: JUMPDEST 00003457: PUSH1 0x20 00003459: PUSH1 0x40 0000345b: MLOAD 0000345c: DUP1 0000345d: DUP4 0000345e: SUB 0000345f: DUP2 00003460: DUP7 00003461: GAS 00003462: STATICCALL 00003463: ISZERO 00003464: DUP1 00003465: ISZERO 00003466: PUSH2 0x3473 00003469: JUMPI 0000346a: RETURNDATASIZE 0000346b: PUSH1 0x00 0000346d: DUP1 0000346e: RETURNDATACOPY 0000346f: RETURNDATASIZE 00003470: PUSH1 0x00 00003472: REVERT 00003473: JUMPDEST 00003474: POP 00003475: POP 00003476: POP 00003477: POP 00003478: PUSH1 0x40 0000347a: MLOAD 0000347b: RETURNDATASIZE 0000347c: PUSH1 0x1f 0000347e: NOT 0000347f: PUSH1 0x1f 00003481: DUP3 00003482: ADD 00003483: AND 00003484: DUP3 00003485: ADD 00003486: DUP1 00003487: PUSH1 0x40 00003489: MSTORE 0000348a: POP 0000348b: DUP2 0000348c: ADD 0000348d: SWAP1 0000348e: PUSH2 0x3497 00003491: SWAP2 00003492: SWAP1 00003493: PUSH2 0x4fdb 00003496: JUMP 00003497: JUMPDEST 00003498: PUSH2 0x34b4 0000349b: JUMPI 0000349c: PUSH1 0x40 0000349e: MLOAD 0000349f: PUSH4 0x4ca88867 000034a4: PUSH1 0xe0 000034a6: SHL 000034a7: DUP2 000034a8: MSTORE 000034a9: PUSH1 0x04 000034ab: ADD 000034ac: PUSH1 0x40 000034ae: MLOAD 000034af: DUP1 000034b0: SWAP2 000034b1: SUB 000034b2: SWAP1 000034b3: REVERT 000034b4: JUMPDEST 000034b5: PUSH1 0x40 000034b7: MLOAD 000034b8: PUSH4 0x25f37153 000034bd: PUSH1 0xe0 000034bf: SHL 000034c0: DUP2 000034c1: MSTORE 000034c2: PUSH1 0x12 000034c4: PUSH1 0x04 000034c6: DUP3 000034c7: ADD 000034c8: MSTORE 000034c9: PUSH1 0x02 000034cb: PUSH1 0x24 000034cd: DUP3 000034ce: ADD 000034cf: MSTORE 000034d0: PUSH6 0xffffffffffff 000034d7: DUP4 000034d8: AND 000034d9: PUSH1 0x44 000034db: DUP3 000034dc: ADD 000034dd: MSTORE 000034de: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 000034f3: SWAP1 000034f4: PUSH4 0x25f37153 000034f9: SWAP1 000034fa: PUSH1 0x64 000034fc: ADD 000034fd: PUSH2 0x229f 00003500: JUMP 00003501: JUMPDEST 00003502: PUSH1 0x40 00003504: MLOAD 00003505: PUSH4 0x24745215 0000350a: PUSH1 0xe2 0000350c: SHL 0000350d: DUP2 0000350e: MSTORE 0000350f: PUSH32 0x0cf879d4130d1406f9ac47c9bad2570cc4a127a954af798da98488d730523ec4 00003530: SWAP1 00003531: PUSH1 0x01 00003533: PUSH1 0x01 00003535: PUSH1 0xa0 00003537: SHL 00003538: SUB 00003539: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 0000355a: AND 0000355b: SWAP1 0000355c: PUSH4 0x91d14854 00003561: SWAP1 00003562: PUSH2 0x3571 00003565: SWAP1 00003566: DUP5 00003567: SWAP1 00003568: CALLER 00003569: SWAP1 0000356a: PUSH1 0x04 0000356c: ADD 0000356d: PUSH2 0x5228 00003570: JUMP 00003571: JUMPDEST 00003572: PUSH1 0x20 00003574: PUSH1 0x40 00003576: MLOAD 00003577: DUP1 00003578: DUP4 00003579: SUB 0000357a: DUP2 0000357b: DUP7 0000357c: GAS 0000357d: STATICCALL 0000357e: ISZERO 0000357f: DUP1 00003580: ISZERO 00003581: PUSH2 0x358e 00003584: JUMPI 00003585: RETURNDATASIZE 00003586: PUSH1 0x00 00003588: DUP1 00003589: RETURNDATACOPY 0000358a: RETURNDATASIZE 0000358b: PUSH1 0x00 0000358d: REVERT 0000358e: JUMPDEST 0000358f: POP 00003590: POP 00003591: POP 00003592: POP 00003593: PUSH1 0x40 00003595: MLOAD 00003596: RETURNDATASIZE 00003597: PUSH1 0x1f 00003599: NOT 0000359a: PUSH1 0x1f 0000359c: DUP3 0000359d: ADD 0000359e: AND 0000359f: DUP3 000035a0: ADD 000035a1: DUP1 000035a2: PUSH1 0x40 000035a4: MSTORE 000035a5: POP 000035a6: DUP2 000035a7: ADD 000035a8: SWAP1 000035a9: PUSH2 0x35b2 000035ac: SWAP2 000035ad: SWAP1 000035ae: PUSH2 0x4fdb 000035b1: JUMP 000035b2: JUMPDEST 000035b3: PUSH2 0x35cf 000035b6: JUMPI 000035b7: PUSH1 0x40 000035b9: MLOAD 000035ba: PUSH4 0x4ca88867 000035bf: PUSH1 0xe0 000035c1: SHL 000035c2: DUP2 000035c3: MSTORE 000035c4: PUSH1 0x04 000035c6: ADD 000035c7: PUSH1 0x40 000035c9: MLOAD 000035ca: DUP1 000035cb: SWAP2 000035cc: SUB 000035cd: SWAP1 000035ce: REVERT 000035cf: JUMPDEST 000035d0: PUSH1 0x40 000035d2: MLOAD 000035d3: PUSH4 0x6df2d995 000035d8: PUSH1 0xe1 000035da: SHL 000035db: DUP2 000035dc: MSTORE 000035dd: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 000035f2: SWAP1 000035f3: PUSH4 0xdbe5b32a 000035f8: SWAP1 000035f9: PUSH2 0x229f 000035fc: SWAP1 000035fd: PUSH1 0x14 000035ff: SWAP1 00003600: DUP7 00003601: SWAP1 00003602: PUSH1 0x04 00003604: ADD 00003605: PUSH2 0x5228 00003608: JUMP 00003609: JUMPDEST 0000360a: PUSH2 0x3611 0000360d: PUSH2 0x3d46 00003610: JUMP 00003611: JUMPDEST 00003612: PUSH2 0x3619 00003615: PUSH2 0x3be3 00003618: JUMP 00003619: JUMPDEST 0000361a: PUSH1 0x40 0000361c: MLOAD 0000361d: PUSH4 0x24745215 00003622: PUSH1 0xe2 00003624: SHL 00003625: DUP2 00003626: MSTORE 00003627: PUSH32 0x0ca87275d169c8ebebebf4aab9c6c710c7681b39422556e90b16a44c68ee4e46 00003648: SWAP1 00003649: PUSH1 0x01 0000364b: PUSH1 0x01 0000364d: PUSH1 0xa0 0000364f: SHL 00003650: SUB 00003651: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00003672: AND 00003673: SWAP1 00003674: PUSH4 0x91d14854 00003679: SWAP1 0000367a: PUSH2 0x3689 0000367d: SWAP1 0000367e: DUP5 0000367f: SWAP1 00003680: CALLER 00003681: SWAP1 00003682: PUSH1 0x04 00003684: ADD 00003685: PUSH2 0x5228 00003688: JUMP 00003689: JUMPDEST 0000368a: PUSH1 0x20 0000368c: PUSH1 0x40 0000368e: MLOAD 0000368f: DUP1 00003690: DUP4 00003691: SUB 00003692: DUP2 00003693: DUP7 00003694: GAS 00003695: STATICCALL 00003696: ISZERO 00003697: DUP1 00003698: ISZERO 00003699: PUSH2 0x36a6 0000369c: JUMPI 0000369d: RETURNDATASIZE 0000369e: PUSH1 0x00 000036a0: DUP1 000036a1: RETURNDATACOPY 000036a2: RETURNDATASIZE 000036a3: PUSH1 0x00 000036a5: REVERT 000036a6: JUMPDEST 000036a7: POP 000036a8: POP 000036a9: POP 000036aa: POP 000036ab: PUSH1 0x40 000036ad: MLOAD 000036ae: RETURNDATASIZE 000036af: PUSH1 0x1f 000036b1: NOT 000036b2: PUSH1 0x1f 000036b4: DUP3 000036b5: ADD 000036b6: AND 000036b7: DUP3 000036b8: ADD 000036b9: DUP1 000036ba: PUSH1 0x40 000036bc: MSTORE 000036bd: POP 000036be: DUP2 000036bf: ADD 000036c0: SWAP1 000036c1: PUSH2 0x36ca 000036c4: SWAP2 000036c5: SWAP1 000036c6: PUSH2 0x4fdb 000036c9: JUMP 000036ca: JUMPDEST 000036cb: PUSH2 0x36e7 000036ce: JUMPI 000036cf: PUSH1 0x40 000036d1: MLOAD 000036d2: PUSH4 0x4ca88867 000036d7: PUSH1 0xe0 000036d9: SHL 000036da: DUP2 000036db: MSTORE 000036dc: PUSH1 0x04 000036de: ADD 000036df: PUSH1 0x40 000036e1: MLOAD 000036e2: DUP1 000036e3: SWAP2 000036e4: SUB 000036e5: SWAP1 000036e6: REVERT 000036e7: JUMPDEST 000036e8: PUSH32 0x0000000000000000000000002218f90a98b0c070676f249ef44834686daa4285 00003709: PUSH1 0x01 0000370b: PUSH1 0x01 0000370d: PUSH1 0xa0 0000370f: SHL 00003710: SUB 00003711: AND 00003712: PUSH4 0xc3d0cbfb 00003717: PUSH1 0x40 00003719: MLOAD 0000371a: DUP2 0000371b: PUSH4 0xffffffff 00003720: AND 00003721: PUSH1 0xe0 00003723: SHL 00003724: DUP2 00003725: MSTORE 00003726: PUSH1 0x04 00003728: ADD 00003729: PUSH1 0x20 0000372b: PUSH1 0x40 0000372d: MLOAD 0000372e: DUP1 0000372f: DUP4 00003730: SUB 00003731: DUP2 00003732: DUP7 00003733: GAS 00003734: STATICCALL 00003735: ISZERO 00003736: DUP1 00003737: ISZERO 00003738: PUSH2 0x3745 0000373b: JUMPI 0000373c: RETURNDATASIZE 0000373d: PUSH1 0x00 0000373f: DUP1 00003740: RETURNDATACOPY 00003741: RETURNDATASIZE 00003742: PUSH1 0x00 00003744: REVERT 00003745: JUMPDEST 00003746: POP 00003747: POP 00003748: POP 00003749: POP 0000374a: PUSH1 0x40 0000374c: MLOAD 0000374d: RETURNDATASIZE 0000374e: PUSH1 0x1f 00003750: NOT 00003751: PUSH1 0x1f 00003753: DUP3 00003754: ADD 00003755: AND 00003756: DUP3 00003757: ADD 00003758: DUP1 00003759: PUSH1 0x40 0000375b: MSTORE 0000375c: POP 0000375d: DUP2 0000375e: ADD 0000375f: SWAP1 00003760: PUSH2 0x3769 00003763: SWAP2 00003764: SWAP1 00003765: PUSH2 0x523f 00003768: JUMP 00003769: JUMPDEST 0000376a: PUSH1 0x01 0000376c: PUSH1 0x01 0000376e: PUSH1 0xa0 00003770: SHL 00003771: SUB 00003772: AND 00003773: PUSH4 0x78b3218e 00003778: PUSH1 0x40 0000377a: MLOAD 0000377b: DUP2 0000377c: PUSH4 0xffffffff 00003781: AND 00003782: PUSH1 0xe0 00003784: SHL 00003785: DUP2 00003786: MSTORE 00003787: PUSH1 0x04 00003789: ADD 0000378a: PUSH1 0x00 0000378c: PUSH1 0x40 0000378e: MLOAD 0000378f: DUP1 00003790: DUP4 00003791: SUB 00003792: DUP2 00003793: PUSH1 0x00 00003795: DUP8 00003796: DUP1 00003797: EXTCODESIZE 00003798: ISZERO 00003799: DUP1 0000379a: ISZERO 0000379b: PUSH2 0x37a3 0000379e: JUMPI 0000379f: PUSH1 0x00 000037a1: DUP1 000037a2: REVERT 000037a3: JUMPDEST 000037a4: POP 000037a5: GAS 000037a6: CALL 000037a7: ISZERO 000037a8: DUP1 000037a9: ISZERO 000037aa: PUSH2 0x37b7 000037ad: JUMPI 000037ae: RETURNDATASIZE 000037af: PUSH1 0x00 000037b1: DUP1 000037b2: RETURNDATACOPY 000037b3: RETURNDATASIZE 000037b4: PUSH1 0x00 000037b6: REVERT 000037b7: JUMPDEST 000037b8: POP 000037b9: POP 000037ba: POP 000037bb: POP 000037bc: PUSH1 0x00 000037be: PUSH2 0x37c9 000037c1: DUP7 000037c2: DUP7 000037c3: DUP7 000037c4: DUP7 000037c5: PUSH2 0x42ad 000037c8: JUMP 000037c9: JUMPDEST 000037ca: PUSH1 0x1e 000037cc: SLOAD 000037cd: PUSH1 0x1f 000037cf: SLOAD 000037d0: SWAP2 000037d1: SWAP3 000037d2: POP 000037d3: SWAP1 000037d4: PUSH1 0x00 000037d6: PUSH2 0x37df 000037d9: DUP3 000037da: DUP5 000037db: PUSH2 0x52f4 000037de: JUMP 000037df: JUMPDEST 000037e0: SWAP1 000037e1: POP 000037e2: DUP4 000037e3: PUSH1 0x20 000037e5: ADD 000037e6: MLOAD 000037e7: DUP5 000037e8: PUSH1 0x40 000037ea: ADD 000037eb: MLOAD 000037ec: DUP5 000037ed: PUSH2 0x37f6 000037f0: SWAP2 000037f1: SWAP1 000037f2: PUSH2 0x52f4 000037f5: JUMP 000037f6: JUMPDEST 000037f7: PUSH2 0x3800 000037fa: SWAP2 000037fb: SWAP1 000037fc: PUSH2 0x5307 000037ff: JUMP 00003800: JUMPDEST 00003801: SWAP3 00003802: POP 00003803: DUP4 00003804: PUSH1 0x80 00003806: ADD 00003807: MLOAD 00003808: DUP5 00003809: PUSH1 0x60 0000380b: ADD 0000380c: MLOAD 0000380d: DUP4 0000380e: PUSH2 0x3817 00003811: SWAP2 00003812: SWAP1 00003813: PUSH2 0x52f4 00003816: JUMP 00003817: JUMPDEST 00003818: PUSH2 0x3821 0000381b: SWAP2 0000381c: SWAP1 0000381d: PUSH2 0x5307 00003820: JUMP 00003821: JUMPDEST 00003822: PUSH1 0x1e 00003824: DUP5 00003825: SWAP1 00003826: SSTORE 00003827: PUSH1 0x1f 00003829: DUP2 0000382a: SWAP1 0000382b: SSTORE 0000382c: PUSH1 0xc0 0000382e: DUP6 0000382f: ADD 00003830: MLOAD 00003831: PUSH1 0xa0 00003833: DUP7 00003834: ADD 00003835: MLOAD 00003836: PUSH1 0x20 00003838: SLOAD 00003839: SWAP3 0000383a: SWAP5 0000383b: POP 0000383c: SWAP1 0000383d: SWAP2 0000383e: PUSH2 0x3847 00003841: SWAP2 00003842: SWAP1 00003843: PUSH2 0x52f4 00003846: JUMP 00003847: JUMPDEST 00003848: PUSH2 0x3851 0000384b: SWAP2 0000384c: SWAP1 0000384d: PUSH2 0x5307 00003850: JUMP 00003851: JUMPDEST 00003852: PUSH1 0x20 00003854: SSTORE 00003855: PUSH2 0x0100 00003858: DUP5 00003859: ADD 0000385a: MLOAD 0000385b: PUSH1 0xe0 0000385d: DUP6 0000385e: ADD 0000385f: MLOAD 00003860: PUSH1 0x21 00003862: SLOAD 00003863: PUSH2 0x386c 00003866: SWAP2 00003867: SWAP1 00003868: PUSH2 0x52f4 0000386b: JUMP 0000386c: JUMPDEST 0000386d: PUSH2 0x3876 00003870: SWAP2 00003871: SWAP1 00003872: PUSH2 0x5307 00003875: JUMP 00003876: JUMPDEST 00003877: PUSH1 0x21 00003879: SSTORE 0000387a: PUSH1 0x00 0000387c: PUSH2 0x3890 0000387f: PUSH2 0x3888 00003882: DUP5 00003883: DUP7 00003884: PUSH2 0x52f4 00003887: JUMP 00003888: JUMPDEST 00003889: DUP4 0000388a: PUSH1 0x00 0000388c: PUSH2 0x3d70 0000388f: JUMP 00003890: JUMPDEST 00003891: PUSH1 0x60 00003893: DUP11 00003894: ADD 00003895: MLOAD 00003896: PUSH1 0x40 00003898: MLOAD 00003899: PUSH4 0x155c27bd 0000389e: PUSH1 0xe0 000038a0: SHL 000038a1: DUP2 000038a2: MSTORE 000038a3: PUSH1 0x01 000038a5: PUSH1 0x01 000038a7: PUSH1 0xa0 000038a9: SHL 000038aa: SUB 000038ab: SWAP1 000038ac: SWAP2 000038ad: AND 000038ae: PUSH1 0x04 000038b0: DUP3 000038b1: ADD 000038b2: MSTORE 000038b3: PUSH1 0x00 000038b5: PUSH1 0x24 000038b7: DUP3 000038b8: ADD 000038b9: MSTORE 000038ba: PUSH1 0x0e 000038bc: PUSH1 0x44 000038be: DUP3 000038bf: ADD 000038c0: MSTORE 000038c1: PUSH1 0x10 000038c3: PUSH1 0x64 000038c5: DUP3 000038c6: ADD 000038c7: MSTORE 000038c8: PUSH1 0x0a 000038ca: PUSH1 0x84 000038cc: DUP3 000038cd: ADD 000038ce: MSTORE 000038cf: SWAP1 000038d0: SWAP2 000038d1: POP 000038d2: PUSH20 0xb8028f58e5de9cb330c544df41d9681cdf05062e 000038e7: SWAP1 000038e8: PUSH4 0x155c27bd 000038ed: SWAP1 000038ee: PUSH1 0xa4 000038f0: ADD 000038f1: PUSH1 0x00 000038f3: PUSH1 0x40 000038f5: MLOAD 000038f6: DUP1 000038f7: DUP4 000038f8: SUB 000038f9: DUP2 000038fa: DUP7 000038fb: DUP1 000038fc: EXTCODESIZE 000038fd: ISZERO 000038fe: DUP1 000038ff: ISZERO 00003900: PUSH2 0x3908 00003903: JUMPI 00003904: PUSH1 0x00 00003906: DUP1 00003907: REVERT 00003908: JUMPDEST 00003909: POP 0000390a: GAS 0000390b: DELEGATECALL 0000390c: ISZERO 0000390d: DUP1 0000390e: ISZERO 0000390f: PUSH2 0x391c 00003912: JUMPI 00003913: RETURNDATASIZE 00003914: PUSH1 0x00 00003916: DUP1 00003917: RETURNDATACOPY 00003918: RETURNDATASIZE 00003919: PUSH1 0x00 0000391b: REVERT 0000391c: JUMPDEST 0000391d: POP 0000391e: POP 0000391f: DUP11 00003920: MLOAD 00003921: PUSH1 0x40 00003923: MLOAD 00003924: PUSH4 0x155c27bd 00003929: PUSH1 0xe0 0000392b: SHL 0000392c: DUP2 0000392d: MSTORE 0000392e: PUSH1 0x01 00003930: PUSH1 0x01 00003932: PUSH1 0xa0 00003934: SHL 00003935: SUB 00003936: SWAP1 00003937: SWAP2 00003938: AND 00003939: PUSH1 0x04 0000393b: DUP3 0000393c: ADD 0000393d: MSTORE 0000393e: PUSH1 0x01 00003940: PUSH1 0x24 00003942: DUP3 00003943: ADD 00003944: MSTORE 00003945: PUSH1 0x0e 00003947: PUSH1 0x44 00003949: DUP3 0000394a: ADD 0000394b: MSTORE 0000394c: PUSH1 0x10 0000394e: PUSH1 0x64 00003950: DUP3 00003951: ADD 00003952: MSTORE 00003953: PUSH1 0x0a 00003955: PUSH1 0x84 00003957: DUP3 00003958: ADD 00003959: MSTORE 0000395a: PUSH20 0xb8028f58e5de9cb330c544df41d9681cdf05062e 0000396f: SWAP3 00003970: POP 00003971: PUSH4 0x155c27bd 00003976: SWAP2 00003977: POP 00003978: PUSH1 0xa4 0000397a: ADD 0000397b: PUSH1 0x00 0000397d: PUSH1 0x40 0000397f: MLOAD 00003980: DUP1 00003981: DUP4 00003982: SUB 00003983: DUP2 00003984: DUP7 00003985: DUP1 00003986: EXTCODESIZE 00003987: ISZERO 00003988: DUP1 00003989: ISZERO 0000398a: PUSH2 0x3992 0000398d: JUMPI 0000398e: PUSH1 0x00 00003990: DUP1 00003991: REVERT 00003992: JUMPDEST 00003993: POP 00003994: GAS 00003995: DELEGATECALL 00003996: ISZERO 00003997: DUP1 00003998: ISZERO 00003999: PUSH2 0x39a6 0000399c: JUMPI 0000399d: RETURNDATASIZE 0000399e: PUSH1 0x00 000039a0: DUP1 000039a1: RETURNDATACOPY 000039a2: RETURNDATASIZE 000039a3: PUSH1 0x00 000039a5: REVERT 000039a6: JUMPDEST 000039a7: POP 000039a8: POP 000039a9: PUSH1 0x26 000039ab: SLOAD 000039ac: PUSH1 0x40 000039ae: MLOAD 000039af: PUSH4 0x60784ecb 000039b4: PUSH1 0xe1 000039b6: SHL 000039b7: DUP2 000039b8: MSTORE 000039b9: PUSH1 0x01 000039bb: PUSH1 0x01 000039bd: PUSH1 0xa0 000039bf: SHL 000039c0: SUB 000039c1: SWAP1 000039c2: SWAP2 000039c3: AND 000039c4: SWAP3 000039c5: POP 000039c6: PUSH4 0xc0f09d96 000039cb: SWAP2 000039cc: POP 000039cd: PUSH2 0x39da 000039d0: SWAP1 000039d1: DUP13 000039d2: SWAP1 000039d3: PUSH1 0x04 000039d5: ADD 000039d6: PUSH2 0x54d5 000039d9: JUMP 000039da: JUMPDEST 000039db: PUSH1 0x00 000039dd: PUSH1 0x40 000039df: MLOAD 000039e0: DUP1 000039e1: DUP4 000039e2: SUB 000039e3: DUP2 000039e4: PUSH1 0x00 000039e6: DUP8 000039e7: DUP1 000039e8: EXTCODESIZE 000039e9: ISZERO 000039ea: DUP1 000039eb: ISZERO 000039ec: PUSH2 0x39f4 000039ef: JUMPI 000039f0: PUSH1 0x00 000039f2: DUP1 000039f3: REVERT 000039f4: JUMPDEST 000039f5: POP 000039f6: GAS 000039f7: CALL 000039f8: ISZERO 000039f9: DUP1 000039fa: ISZERO 000039fb: PUSH2 0x3a08 000039fe: JUMPI 000039ff: RETURNDATASIZE 00003a00: PUSH1 0x00 00003a02: DUP1 00003a03: RETURNDATACOPY 00003a04: RETURNDATASIZE 00003a05: PUSH1 0x00 00003a07: REVERT 00003a08: JUMPDEST 00003a09: POP 00003a0a: POP 00003a0b: POP 00003a0c: POP 00003a0d: PUSH2 0x3a1b 00003a10: DUP4 00003a11: DUP6 00003a12: PUSH2 0x1d6b 00003a15: SWAP2 00003a16: SWAP1 00003a17: PUSH2 0x52f4 00003a1a: JUMP 00003a1b: JUMPDEST 00003a1c: PUSH1 0x40 00003a1e: DUP1 00003a1f: MLOAD 00003a20: DUP6 00003a21: DUP2 00003a22: MSTORE 00003a23: PUSH1 0x20 00003a25: DUP2 00003a26: ADD 00003a27: DUP6 00003a28: SWAP1 00003a29: MSTORE 00003a2a: SWAP1 00003a2b: DUP2 00003a2c: ADD 00003a2d: DUP3 00003a2e: SWAP1 00003a2f: MSTORE 00003a30: PUSH32 0xfde591d4268ec544cdd14ce6872b792705c3a22041dda226551134062d3e05e8 00003a51: SWAP1 00003a52: PUSH1 0x60 00003a54: ADD 00003a55: PUSH1 0x40 00003a57: MLOAD 00003a58: DUP1 00003a59: SWAP2 00003a5a: SUB 00003a5b: SWAP1 00003a5c: LOG1 00003a5d: POP 00003a5e: POP 00003a5f: POP 00003a60: POP 00003a61: POP 00003a62: PUSH32 0x0000000000000000000000002218f90a98b0c070676f249ef44834686daa4285 00003a83: PUSH1 0x01 00003a85: PUSH1 0x01 00003a87: PUSH1 0xa0 00003a89: SHL 00003a8a: SUB 00003a8b: AND 00003a8c: PUSH4 0xc3d0cbfb 00003a91: PUSH1 0x40 00003a93: MLOAD 00003a94: DUP2 00003a95: PUSH4 0xffffffff 00003a9a: AND 00003a9b: PUSH1 0xe0 00003a9d: SHL 00003a9e: DUP2 00003a9f: MSTORE 00003aa0: PUSH1 0x04 00003aa2: ADD 00003aa3: PUSH1 0x20 00003aa5: PUSH1 0x40 00003aa7: MLOAD 00003aa8: DUP1 00003aa9: DUP4 00003aaa: SUB 00003aab: DUP2 00003aac: DUP7 00003aad: GAS 00003aae: STATICCALL 00003aaf: ISZERO 00003ab0: DUP1 00003ab1: ISZERO 00003ab2: PUSH2 0x3abf 00003ab5: JUMPI 00003ab6: RETURNDATASIZE 00003ab7: PUSH1 0x00 00003ab9: DUP1 00003aba: RETURNDATACOPY 00003abb: RETURNDATASIZE 00003abc: PUSH1 0x00 00003abe: REVERT 00003abf: JUMPDEST 00003ac0: POP 00003ac1: POP 00003ac2: POP 00003ac3: POP 00003ac4: PUSH1 0x40 00003ac6: MLOAD 00003ac7: RETURNDATASIZE 00003ac8: PUSH1 0x1f 00003aca: NOT 00003acb: PUSH1 0x1f 00003acd: DUP3 00003ace: ADD 00003acf: AND 00003ad0: DUP3 00003ad1: ADD 00003ad2: DUP1 00003ad3: PUSH1 0x40 00003ad5: MSTORE 00003ad6: POP 00003ad7: DUP2 00003ad8: ADD 00003ad9: SWAP1 00003ada: PUSH2 0x3ae3 00003add: SWAP2 00003ade: SWAP1 00003adf: PUSH2 0x523f 00003ae2: JUMP 00003ae3: JUMPDEST 00003ae4: PUSH1 0x01 00003ae6: PUSH1 0x01 00003ae8: PUSH1 0xa0 00003aea: SHL 00003aeb: SUB 00003aec: AND 00003aed: PUSH4 0x565f3652 00003af2: PUSH1 0x40 00003af4: MLOAD 00003af5: DUP2 00003af6: PUSH4 0xffffffff 00003afb: AND 00003afc: PUSH1 0xe0 00003afe: SHL 00003aff: DUP2 00003b00: MSTORE 00003b01: PUSH1 0x04 00003b03: ADD 00003b04: PUSH1 0x00 00003b06: PUSH1 0x40 00003b08: MLOAD 00003b09: DUP1 00003b0a: DUP4 00003b0b: SUB 00003b0c: DUP2 00003b0d: PUSH1 0x00 00003b0f: DUP8 00003b10: DUP1 00003b11: EXTCODESIZE 00003b12: ISZERO 00003b13: DUP1 00003b14: ISZERO 00003b15: PUSH2 0x3b1d 00003b18: JUMPI 00003b19: PUSH1 0x00 00003b1b: DUP1 00003b1c: REVERT 00003b1d: JUMPDEST 00003b1e: POP 00003b1f: GAS 00003b20: CALL 00003b21: ISZERO 00003b22: DUP1 00003b23: ISZERO 00003b24: PUSH2 0x3b31 00003b27: JUMPI 00003b28: RETURNDATASIZE 00003b29: PUSH1 0x00 00003b2b: DUP1 00003b2c: RETURNDATACOPY 00003b2d: RETURNDATASIZE 00003b2e: PUSH1 0x00 00003b30: REVERT 00003b31: JUMPDEST 00003b32: POP 00003b33: POP 00003b34: POP 00003b35: POP 00003b36: POP 00003b37: PUSH2 0x29e9 00003b3a: PUSH1 0x01 00003b3c: DUP1 00003b3d: SSTORE 00003b3e: JUMP 00003b3f: JUMPDEST 00003b40: PUSH1 0x00 00003b42: PUSH2 0x0d62 00003b45: PUSH1 0x0a 00003b47: DUP4 00003b48: PUSH2 0x3c9d 00003b4b: JUMP 00003b4c: JUMPDEST 00003b4d: PUSH1 0x00 00003b4f: PUSH2 0x0d62 00003b52: PUSH1 0x22 00003b54: DUP4 00003b55: PUSH2 0x3c9d 00003b58: JUMP 00003b59: JUMPDEST 00003b5a: PUSH1 0x00 00003b5c: PUSH2 0x0d62 00003b5f: DUP3 00003b60: PUSH2 0x30b2 00003b63: PUSH1 0x01 00003b65: PUSH2 0x3b96 00003b68: JUMP 00003b69: JUMPDEST 00003b6a: PUSH1 0x01 00003b6c: PUSH1 0x01 00003b6e: PUSH1 0xa0 00003b70: SHL 00003b71: SUB 00003b72: DUP3 00003b73: AND 00003b74: PUSH2 0x3b92 00003b77: JUMPI 00003b78: DUP1 00003b79: PUSH1 0x40 00003b7b: MLOAD 00003b7c: PUSH4 0xeac0d389 00003b81: PUSH1 0xe0 00003b83: SHL 00003b84: DUP2 00003b85: MSTORE 00003b86: PUSH1 0x04 00003b88: ADD 00003b89: PUSH2 0x115a 00003b8c: SWAP2 00003b8d: SWAP1 00003b8e: PUSH2 0x472a 00003b91: JUMP 00003b92: JUMPDEST 00003b93: POP 00003b94: POP 00003b95: JUMP 00003b96: JUMPDEST 00003b97: PUSH1 0x40 00003b99: MLOAD 00003b9a: PUSH4 0x57e45485 00003b9f: PUSH1 0xe0 00003ba1: SHL 00003ba2: DUP2 00003ba3: MSTORE 00003ba4: PUSH1 0x00 00003ba6: SWAP1 00003ba7: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00003bbc: SWAP1 00003bbd: PUSH4 0x57e45485 00003bc2: SWAP1 00003bc3: PUSH2 0x237a 00003bc6: SWAP1 00003bc7: PUSH1 0x10 00003bc9: SWAP1 00003bca: PUSH1 0x0c 00003bcc: SWAP1 00003bcd: DUP8 00003bce: SWAP1 00003bcf: PUSH1 0x04 00003bd1: ADD 00003bd2: PUSH2 0x54e3 00003bd5: JUMP 00003bd6: JUMPDEST 00003bd7: PUSH1 0x60 00003bd9: PUSH1 0x00 00003bdb: PUSH2 0x0df6 00003bde: DUP4 00003bdf: PUSH2 0x44f6 00003be2: JUMP 00003be3: JUMPDEST 00003be4: PUSH2 0x3beb 00003be7: PUSH2 0x1ea5 00003bea: JUMP 00003beb: JUMPDEST 00003bec: ISZERO 00003bed: PUSH2 0x3c09 00003bf0: JUMPI 00003bf1: PUSH1 0x40 00003bf3: MLOAD 00003bf4: PUSH4 0x1309a563 00003bf9: PUSH1 0xe0 00003bfb: SHL 00003bfc: DUP2 00003bfd: MSTORE 00003bfe: PUSH1 0x04 00003c00: ADD 00003c01: PUSH1 0x40 00003c03: MLOAD 00003c04: DUP1 00003c05: SWAP2 00003c06: SUB 00003c07: SWAP1 00003c08: REVERT 00003c09: JUMPDEST 00003c0a: JUMP 00003c0b: JUMPDEST 00003c0c: DUP2 00003c0d: MLOAD 00003c0e: PUSH1 0x00 00003c10: SUB 00003c11: PUSH2 0x3b92 00003c14: JUMPI 00003c15: DUP1 00003c16: PUSH1 0x40 00003c18: MLOAD 00003c19: PUSH4 0x4389d5ab 00003c1e: PUSH1 0xe0 00003c20: SHL 00003c21: DUP2 00003c22: MSTORE 00003c23: PUSH1 0x04 00003c25: ADD 00003c26: PUSH2 0x115a 00003c29: SWAP2 00003c2a: SWAP1 00003c2b: PUSH2 0x472a 00003c2e: JUMP 00003c2f: JUMPDEST 00003c30: PUSH1 0x40 00003c32: MLOAD 00003c33: PUSH4 0x24745215 00003c38: PUSH1 0xe2 00003c3a: SHL 00003c3b: DUP2 00003c3c: MSTORE 00003c3d: PUSH1 0x00 00003c3f: SWAP1 00003c40: PUSH1 0x01 00003c42: PUSH1 0x01 00003c44: PUSH1 0xa0 00003c46: SHL 00003c47: SUB 00003c48: PUSH32 0x00000000000000000000000037767cbff88cb623e9404e959560984f7d742df6 00003c69: AND 00003c6a: SWAP1 00003c6b: PUSH4 0x91d14854 00003c70: SWAP1 00003c71: PUSH2 0x3c80 00003c74: SWAP1 00003c75: DUP7 00003c76: SWAP1 00003c77: DUP7 00003c78: SWAP1 00003c79: PUSH1 0x04 00003c7b: ADD 00003c7c: PUSH2 0x5228 00003c7f: JUMP 00003c80: JUMPDEST 00003c81: PUSH1 0x20 00003c83: PUSH1 0x40 00003c85: MLOAD 00003c86: DUP1 00003c87: DUP4 00003c88: SUB 00003c89: DUP2 00003c8a: DUP7 00003c8b: GAS 00003c8c: STATICCALL 00003c8d: ISZERO 00003c8e: DUP1 00003c8f: ISZERO 00003c90: PUSH2 0x0dd2 00003c93: JUMPI 00003c94: RETURNDATASIZE 00003c95: PUSH1 0x00 00003c97: DUP1 00003c98: RETURNDATACOPY 00003c99: RETURNDATASIZE 00003c9a: PUSH1 0x00 00003c9c: REVERT 00003c9d: JUMPDEST 00003c9e: PUSH1 0x01 00003ca0: PUSH1 0x01 00003ca2: PUSH1 0xa0 00003ca4: SHL 00003ca5: SUB 00003ca6: DUP2 00003ca7: AND 00003ca8: PUSH1 0x00 00003caa: SWAP1 00003cab: DUP2 00003cac: MSTORE 00003cad: PUSH1 0x01 00003caf: DUP4 00003cb0: ADD 00003cb1: PUSH1 0x20 00003cb3: MSTORE 00003cb4: PUSH1 0x40 00003cb6: DUP2 00003cb7: KECCAK256 00003cb8: SLOAD 00003cb9: ISZERO 00003cba: ISZERO 00003cbb: PUSH2 0x0df6 00003cbe: JUMP 00003cbf: JUMPDEST 00003cc0: PUSH1 0x00 00003cc2: PUSH2 0x0df6 00003cc5: DUP4 00003cc6: PUSH1 0x01 00003cc8: PUSH1 0x01 00003cca: PUSH1 0xa0 00003ccc: SHL 00003ccd: SUB 00003cce: DUP5 00003ccf: AND 00003cd0: PUSH2 0x4552 00003cd3: JUMP 00003cd4: JUMPDEST 00003cd5: PUSH1 0x00 00003cd7: PUSH2 0x0df6 00003cda: PUSH2 0x3ce2 00003cdd: DUP5 00003cde: PUSH2 0x3017 00003ce1: JUMP 00003ce2: JUMPDEST 00003ce3: DUP4 00003ce4: PUSH2 0x27fe 00003ce7: PUSH2 0x0f45 00003cea: JUMP 00003ceb: JUMPDEST 00003cec: PUSH1 0x00 00003cee: DUP1 00003cef: PUSH2 0x3cf9 00003cf2: DUP7 00003cf3: DUP7 00003cf4: DUP7 00003cf5: PUSH2 0x45a1 00003cf8: JUMP 00003cf9: JUMPDEST 00003cfa: SWAP1 00003cfb: POP 00003cfc: PUSH1 0x01 00003cfe: DUP4 00003cff: PUSH1 0x02 00003d01: DUP2 00003d02: GT 00003d03: ISZERO 00003d04: PUSH2 0x3d0f 00003d07: JUMPI 00003d08: PUSH2 0x3d0f 00003d0b: PUSH2 0x4ad6 00003d0e: JUMP 00003d0f: JUMPDEST 00003d10: EQ 00003d11: DUP1 00003d12: ISZERO 00003d13: PUSH2 0x3d2c 00003d16: JUMPI 00003d17: POP 00003d18: PUSH1 0x00 00003d1a: DUP5 00003d1b: DUP1 00003d1c: PUSH2 0x3d27 00003d1f: JUMPI 00003d20: PUSH2 0x3d27 00003d23: PUSH2 0x5508 00003d26: JUMP 00003d27: JUMPDEST 00003d28: DUP7 00003d29: DUP9 00003d2a: MULMOD 00003d2b: GT 00003d2c: JUMPDEST 00003d2d: ISZERO 00003d2e: PUSH2 0x18cd 00003d31: JUMPI 00003d32: PUSH2 0x3d3c 00003d35: PUSH1 0x01 00003d37: DUP3 00003d38: PUSH2 0x52f4 00003d3b: JUMP 00003d3c: JUMPDEST 00003d3d: SWAP7 00003d3e: SWAP6 00003d3f: POP 00003d40: POP 00003d41: POP 00003d42: POP 00003d43: POP 00003d44: POP 00003d45: JUMP 00003d46: JUMPDEST 00003d47: PUSH1 0x02 00003d49: PUSH1 0x01 00003d4b: SLOAD 00003d4c: SUB 00003d4d: PUSH2 0x3d69 00003d50: JUMPI 00003d51: PUSH1 0x40 00003d53: MLOAD 00003d54: PUSH4 0x3ee5aeb5 00003d59: PUSH1 0xe0 00003d5b: SHL 00003d5c: DUP2 00003d5d: MSTORE 00003d5e: PUSH1 0x04 00003d60: ADD 00003d61: PUSH1 0x40 00003d63: MLOAD 00003d64: DUP1 00003d65: SWAP2 00003d66: SUB 00003d67: SWAP1 00003d68: REVERT 00003d69: JUMPDEST 00003d6a: PUSH1 0x02 00003d6c: PUSH1 0x01 00003d6e: SSTORE 00003d6f: JUMP 00003d70: JUMPDEST 00003d71: PUSH1 0x40 00003d73: MLOAD 00003d74: PUSH4 0xfe5c822d 00003d79: PUSH1 0xe0 00003d7b: SHL 00003d7c: DUP2 00003d7d: MSTORE 00003d7e: PUSH1 0x12 00003d80: PUSH1 0x04 00003d82: DUP3 00003d83: ADD 00003d84: MSTORE 00003d85: PUSH1 0x02 00003d87: PUSH1 0x24 00003d89: DUP3 00003d8a: ADD 00003d8b: MSTORE 00003d8c: PUSH1 0x00 00003d8e: SWAP1 00003d8f: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 00003da4: SWAP1 00003da5: PUSH4 0xfe5c822d 00003daa: SWAP1 00003dab: PUSH1 0x44 00003dad: ADD 00003dae: PUSH1 0x00 00003db0: PUSH1 0x40 00003db2: MLOAD 00003db3: DUP1 00003db4: DUP4 00003db5: SUB 00003db6: DUP2 00003db7: DUP7 00003db8: DUP1 00003db9: EXTCODESIZE 00003dba: ISZERO 00003dbb: DUP1 00003dbc: ISZERO 00003dbd: PUSH2 0x3dc5 00003dc0: JUMPI 00003dc1: PUSH1 0x00 00003dc3: DUP1 00003dc4: REVERT 00003dc5: JUMPDEST 00003dc6: POP 00003dc7: GAS 00003dc8: DELEGATECALL 00003dc9: ISZERO 00003dca: DUP1 00003dcb: ISZERO 00003dcc: PUSH2 0x3dd9 00003dcf: JUMPI 00003dd0: RETURNDATASIZE 00003dd1: PUSH1 0x00 00003dd3: DUP1 00003dd4: RETURNDATACOPY 00003dd5: RETURNDATASIZE 00003dd6: PUSH1 0x00 00003dd8: REVERT 00003dd9: JUMPDEST 00003dda: POP 00003ddb: POP 00003ddc: POP 00003ddd: POP 00003dde: PUSH1 0x00 00003de0: PUSH2 0x3de7 00003de3: PUSH2 0x0f45 00003de6: JUMP 00003de7: JUMPDEST 00003de8: SWAP1 00003de9: POP 00003dea: PUSH2 0x3df4 00003ded: DUP6 00003dee: DUP3 00003def: DUP6 00003df0: PUSH2 0x4650 00003df3: JUMP 00003df4: JUMPDEST 00003df5: SWAP2 00003df6: POP 00003df7: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 00003e0c: PUSH4 0xc0b1cd55 00003e11: PUSH1 0x12 00003e13: PUSH1 0x02 00003e15: PUSH2 0x3e1e 00003e18: DUP6 00003e19: DUP8 00003e1a: PUSH2 0x5307 00003e1d: JUMP 00003e1e: JUMPDEST 00003e1f: DUP10 00003e20: DUP10 00003e21: DUP9 00003e22: PUSH2 0x3e40 00003e25: ADDRESS 00003e26: PUSH1 0x01 00003e28: PUSH1 0x01 00003e2a: PUSH1 0xa0 00003e2c: SHL 00003e2d: SUB 00003e2e: AND 00003e2f: PUSH1 0x00 00003e31: SWAP1 00003e32: DUP2 00003e33: MSTORE 00003e34: PUSH1 0x02 00003e36: PUSH1 0x20 00003e38: MSTORE 00003e39: PUSH1 0x40 00003e3b: SWAP1 00003e3c: KECCAK256 00003e3d: SLOAD 00003e3e: SWAP1 00003e3f: JUMP 00003e40: JUMPDEST 00003e41: PUSH1 0x40 00003e43: MLOAD 00003e44: PUSH1 0x01 00003e46: PUSH1 0x01 00003e48: PUSH1 0xe0 00003e4a: SHL 00003e4b: SUB 00003e4c: NOT 00003e4d: PUSH1 0xe0 00003e4f: DUP11 00003e50: SWAP1 00003e51: SHL 00003e52: AND 00003e53: DUP2 00003e54: MSTORE 00003e55: PUSH1 0x04 00003e57: DUP2 00003e58: ADD 00003e59: SWAP8 00003e5a: SWAP1 00003e5b: SWAP8 00003e5c: MSTORE 00003e5d: PUSH1 0x24 00003e5f: DUP8 00003e60: ADD 00003e61: SWAP6 00003e62: SWAP1 00003e63: SWAP6 00003e64: MSTORE 00003e65: PUSH1 0x44 00003e67: DUP7 00003e68: ADD 00003e69: SWAP4 00003e6a: SWAP1 00003e6b: SWAP4 00003e6c: MSTORE 00003e6d: PUSH1 0x64 00003e6f: DUP6 00003e70: ADD 00003e71: SWAP2 00003e72: SWAP1 00003e73: SWAP2 00003e74: MSTORE 00003e75: PUSH1 0x84 00003e77: DUP5 00003e78: ADD 00003e79: MSTORE 00003e7a: PUSH1 0xa4 00003e7c: DUP4 00003e7d: ADD 00003e7e: MSTORE 00003e7f: PUSH1 0xc4 00003e81: DUP3 00003e82: ADD 00003e83: MSTORE 00003e84: PUSH1 0xe4 00003e86: ADD 00003e87: PUSH1 0x20 00003e89: PUSH1 0x40 00003e8b: MLOAD 00003e8c: DUP1 00003e8d: DUP4 00003e8e: SUB 00003e8f: DUP2 00003e90: DUP7 00003e91: GAS 00003e92: DELEGATECALL 00003e93: ISZERO 00003e94: DUP1 00003e95: ISZERO 00003e96: PUSH2 0x3ea3 00003e99: JUMPI 00003e9a: RETURNDATASIZE 00003e9b: PUSH1 0x00 00003e9d: DUP1 00003e9e: RETURNDATACOPY 00003e9f: RETURNDATASIZE 00003ea0: PUSH1 0x00 00003ea2: REVERT 00003ea3: JUMPDEST 00003ea4: POP 00003ea5: POP 00003ea6: POP 00003ea7: POP 00003ea8: PUSH1 0x40 00003eaa: MLOAD 00003eab: RETURNDATASIZE 00003eac: PUSH1 0x1f 00003eae: NOT 00003eaf: PUSH1 0x1f 00003eb1: DUP3 00003eb2: ADD 00003eb3: AND 00003eb4: DUP3 00003eb5: ADD 00003eb6: DUP1 00003eb7: PUSH1 0x40 00003eb9: MSTORE 00003eba: POP 00003ebb: DUP2 00003ebc: ADD 00003ebd: SWAP1 00003ebe: PUSH2 0x18cd 00003ec1: SWAP2 00003ec2: SWAP1 00003ec3: PUSH2 0x4f7e 00003ec6: JUMP 00003ec7: JUMPDEST 00003ec8: PUSH1 0x26 00003eca: SLOAD 00003ecb: PUSH1 0x01 00003ecd: PUSH1 0x01 00003ecf: PUSH1 0xa0 00003ed1: SHL 00003ed2: SUB 00003ed3: AND 00003ed4: PUSH4 0x4244cc90 00003ed9: DUP3 00003eda: PUSH2 0x3f03 00003edd: PUSH32 0x0000000000000000000000000000000000000000000000000de0b6b3a7640000 00003efe: DUP7 00003eff: PUSH2 0x551e 00003f02: JUMP 00003f03: JUMPDEST 00003f04: PUSH2 0x3f0d 00003f07: SWAP2 00003f08: SWAP1 00003f09: PUSH2 0x5535 00003f0c: JUMP 00003f0d: JUMPDEST 00003f0e: PUSH1 0x40 00003f10: MLOAD 00003f11: DUP3 00003f12: PUSH4 0xffffffff 00003f17: AND 00003f18: PUSH1 0xe0 00003f1a: SHL 00003f1b: DUP2 00003f1c: MSTORE 00003f1d: PUSH1 0x04 00003f1f: ADD 00003f20: PUSH2 0x3f2b 00003f23: SWAP2 00003f24: DUP2 00003f25: MSTORE 00003f26: PUSH1 0x20 00003f28: ADD 00003f29: SWAP1 00003f2a: JUMP 00003f2b: JUMPDEST 00003f2c: PUSH1 0x00 00003f2e: PUSH1 0x40 00003f30: MLOAD 00003f31: DUP1 00003f32: DUP4 00003f33: SUB 00003f34: DUP2 00003f35: PUSH1 0x00 00003f37: DUP8 00003f38: DUP1 00003f39: EXTCODESIZE 00003f3a: ISZERO 00003f3b: DUP1 00003f3c: ISZERO 00003f3d: PUSH2 0x3f45 00003f40: JUMPI 00003f41: PUSH1 0x00 00003f43: DUP1 00003f44: REVERT 00003f45: JUMPDEST 00003f46: POP 00003f47: GAS 00003f48: CALL 00003f49: ISZERO 00003f4a: DUP1 00003f4b: ISZERO 00003f4c: PUSH2 0x22cb 00003f4f: JUMPI 00003f50: RETURNDATASIZE 00003f51: PUSH1 0x00 00003f53: DUP1 00003f54: RETURNDATACOPY 00003f55: RETURNDATASIZE 00003f56: PUSH1 0x00 00003f58: REVERT 00003f59: JUMPDEST 00003f5a: PUSH1 0x00 00003f5c: DUP1 00003f5d: PUSH2 0x3f64 00003f60: PUSH2 0x0f45 00003f63: JUMP 00003f64: JUMPDEST 00003f65: SWAP1 00003f66: POP 00003f67: DUP1 00003f68: PUSH1 0x00 00003f6a: SUB 00003f6b: PUSH2 0x3f79 00003f6e: JUMPI 00003f6f: POP 00003f70: PUSH1 0x00 00003f72: SWAP3 00003f73: DUP4 00003f74: SWAP3 00003f75: POP 00003f76: SWAP1 00003f77: POP 00003f78: JUMP 00003f79: JUMPDEST 00003f7a: DUP1 00003f7b: PUSH2 0x2710 00003f7e: PUSH2 0x3f86 00003f81: DUP6 00003f82: PUSH2 0x2a47 00003f85: JUMP 00003f86: JUMPDEST 00003f87: PUSH2 0x3f90 00003f8a: SWAP2 00003f8b: SWAP1 00003f8c: PUSH2 0x551e 00003f8f: JUMP 00003f90: JUMPDEST 00003f91: PUSH2 0x3f9a 00003f94: SWAP2 00003f95: SWAP1 00003f96: PUSH2 0x5535 00003f99: JUMP 00003f9a: JUMPDEST 00003f9b: SWAP2 00003f9c: POP 00003f9d: SWAP2 00003f9e: POP 00003f9f: SWAP2 00003fa0: JUMP 00003fa1: JUMPDEST 00003fa2: PUSH1 0x00 00003fa4: PUSH32 0x0000000000000000000000002218f90a98b0c070676f249ef44834686daa4285 00003fc5: PUSH1 0x01 00003fc7: PUSH1 0x01 00003fc9: PUSH1 0xa0 00003fcb: SHL 00003fcc: SUB 00003fcd: AND 00003fce: PUSH4 0xc3d0cbfb 00003fd3: PUSH1 0x40 00003fd5: MLOAD 00003fd6: DUP2 00003fd7: PUSH4 0xffffffff 00003fdc: AND 00003fdd: PUSH1 0xe0 00003fdf: SHL 00003fe0: DUP2 00003fe1: MSTORE 00003fe2: PUSH1 0x04 00003fe4: ADD 00003fe5: PUSH1 0x20 00003fe7: PUSH1 0x40 00003fe9: MLOAD 00003fea: DUP1 00003feb: DUP4 00003fec: SUB 00003fed: DUP2 00003fee: DUP7 00003fef: GAS 00003ff0: STATICCALL 00003ff1: ISZERO 00003ff2: DUP1 00003ff3: ISZERO 00003ff4: PUSH2 0x4001 00003ff7: JUMPI 00003ff8: RETURNDATASIZE 00003ff9: PUSH1 0x00 00003ffb: DUP1 00003ffc: RETURNDATACOPY 00003ffd: RETURNDATASIZE 00003ffe: PUSH1 0x00 00004000: REVERT 00004001: JUMPDEST 00004002: POP 00004003: POP 00004004: POP 00004005: POP 00004006: PUSH1 0x40 00004008: MLOAD 00004009: RETURNDATASIZE 0000400a: PUSH1 0x1f 0000400c: NOT 0000400d: PUSH1 0x1f 0000400f: DUP3 00004010: ADD 00004011: AND 00004012: DUP3 00004013: ADD 00004014: DUP1 00004015: PUSH1 0x40 00004017: MSTORE 00004018: POP 00004019: DUP2 0000401a: ADD 0000401b: SWAP1 0000401c: PUSH2 0x4025 0000401f: SWAP2 00004020: SWAP1 00004021: PUSH2 0x523f 00004024: JUMP 00004025: JUMPDEST 00004026: PUSH1 0x01 00004028: PUSH1 0x01 0000402a: PUSH1 0xa0 0000402c: SHL 0000402d: SUB 0000402e: AND 0000402f: PUSH4 0xf403e784 00004034: PUSH1 0x40 00004036: MLOAD 00004037: DUP2 00004038: PUSH4 0xffffffff 0000403d: AND 0000403e: PUSH1 0xe0 00004040: SHL 00004041: DUP2 00004042: MSTORE 00004043: PUSH1 0x04 00004045: ADD 00004046: PUSH1 0x20 00004048: PUSH1 0x40 0000404a: MLOAD 0000404b: DUP1 0000404c: DUP4 0000404d: SUB 0000404e: DUP2 0000404f: DUP7 00004050: GAS 00004051: STATICCALL 00004052: ISZERO 00004053: DUP1 00004054: ISZERO 00004055: PUSH2 0x4062 00004058: JUMPI 00004059: RETURNDATASIZE 0000405a: PUSH1 0x00 0000405c: DUP1 0000405d: RETURNDATACOPY 0000405e: RETURNDATASIZE 0000405f: PUSH1 0x00 00004061: REVERT 00004062: JUMPDEST 00004063: POP 00004064: POP 00004065: POP 00004066: POP 00004067: PUSH1 0x40 00004069: MLOAD 0000406a: RETURNDATASIZE 0000406b: PUSH1 0x1f 0000406d: NOT 0000406e: PUSH1 0x1f 00004070: DUP3 00004071: ADD 00004072: AND 00004073: DUP3 00004074: ADD 00004075: DUP1 00004076: PUSH1 0x40 00004078: MSTORE 00004079: POP 0000407a: DUP2 0000407b: ADD 0000407c: SWAP1 0000407d: PUSH2 0x4086 00004080: SWAP2 00004081: SWAP1 00004082: PUSH2 0x4f7e 00004085: JUMP 00004086: JUMPDEST 00004087: GT 00004088: ISZERO 00004089: PUSH2 0x3c09 0000408c: JUMPI 0000408d: PUSH1 0x40 0000408f: MLOAD 00004090: PUSH4 0x18b29b3d 00004095: PUSH1 0xe3 00004097: SHL 00004098: DUP2 00004099: MSTORE 0000409a: PUSH1 0x04 0000409c: ADD 0000409d: PUSH1 0x40 0000409f: MLOAD 000040a0: DUP1 000040a1: SWAP2 000040a2: SUB 000040a3: SWAP1 000040a4: REVERT 000040a5: JUMPDEST 000040a6: DUP2 000040a7: PUSH1 0x00 000040a9: SUB 000040aa: PUSH2 0x3b92 000040ad: JUMPI 000040ae: DUP1 000040af: PUSH1 0x40 000040b1: MLOAD 000040b2: PUSH4 0x4389d5ab 000040b7: PUSH1 0xe0 000040b9: SHL 000040ba: DUP2 000040bb: MSTORE 000040bc: PUSH1 0x04 000040be: ADD 000040bf: PUSH2 0x115a 000040c2: SWAP2 000040c3: SWAP1 000040c4: PUSH2 0x472a 000040c7: JUMP 000040c8: JUMPDEST 000040c9: PUSH1 0x40 000040cb: MLOAD 000040cc: PUSH4 0x7d127d03 000040d1: PUSH1 0xe0 000040d3: SHL 000040d4: DUP2 000040d5: MSTORE 000040d6: PUSH1 0x01 000040d8: PUSH1 0x01 000040da: PUSH1 0xa0 000040dc: SHL 000040dd: SUB 000040de: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000040ff: DUP2 00004100: AND 00004101: PUSH1 0x04 00004103: DUP4 00004104: ADD 00004105: MSTORE 00004106: PUSH1 0x1e 00004108: PUSH1 0x24 0000410a: DUP4 0000410b: ADD 0000410c: MSTORE 0000410d: PUSH1 0x02 0000410f: PUSH1 0x44 00004111: DUP4 00004112: ADD 00004113: MSTORE 00004114: PUSH1 0x12 00004116: PUSH1 0x64 00004118: DUP4 00004119: ADD 0000411a: MSTORE 0000411b: PUSH1 0x84 0000411d: DUP3 0000411e: ADD 0000411f: DUP6 00004120: SWAP1 00004121: MSTORE 00004122: PUSH1 0xa4 00004124: DUP3 00004125: ADD 00004126: DUP5 00004127: SWAP1 00004128: MSTORE 00004129: DUP3 0000412a: AND 0000412b: PUSH1 0xc4 0000412d: DUP3 0000412e: ADD 0000412f: MSTORE 00004130: PUSH20 0x8709b88c5cbca830d63f726a6f6f8c6573486223 00004145: SWAP1 00004146: PUSH4 0x7d127d03 0000414b: SWAP1 0000414c: PUSH1 0xe4 0000414e: ADD 0000414f: PUSH2 0x206b 00004152: JUMP 00004153: JUMPDEST 00004154: PUSH1 0x00 00004156: PUSH2 0x415d 00004159: PUSH2 0x0f45 0000415c: JUMP 0000415d: JUMPDEST 0000415e: SWAP1 0000415f: POP 00004160: DUP1 00004161: ISZERO 00004162: DUP1 00004163: PUSH2 0x416a 00004166: JUMPI 00004167: POP 00004168: DUP3 00004169: ISZERO 0000416a: JUMPDEST 0000416b: ISZERO 0000416c: PUSH2 0x4175 0000416f: JUMPI 00004170: POP 00004171: POP 00004172: POP 00004173: POP 00004174: JUMP 00004175: JUMPDEST 00004176: PUSH1 0x00 00004178: DUP2 00004179: PUSH2 0x2710 0000417c: PUSH2 0x4184 0000417f: DUP6 00004180: PUSH2 0x2a47 00004183: JUMP 00004184: JUMPDEST 00004185: PUSH2 0x418e 00004188: SWAP2 00004189: SWAP1 0000418a: PUSH2 0x551e 0000418d: JUMP 0000418e: JUMPDEST 0000418f: PUSH2 0x4198 00004192: SWAP2 00004193: SWAP1 00004194: PUSH2 0x5535 00004197: JUMP 00004198: JUMPDEST 00004199: SWAP1 0000419a: POP 0000419b: DUP5 0000419c: DUP2 0000419d: LT 0000419e: ISZERO 0000419f: PUSH2 0x13c6 000041a2: JUMPI 000041a3: PUSH1 0x40 000041a5: MLOAD 000041a6: PUSH4 0xcaf853f9 000041ab: PUSH1 0xe0 000041ad: SHL 000041ae: DUP2 000041af: MSTORE 000041b0: PUSH1 0x04 000041b2: DUP2 000041b3: ADD 000041b4: DUP7 000041b5: SWAP1 000041b6: MSTORE 000041b7: PUSH1 0x24 000041b9: DUP2 000041ba: ADD 000041bb: DUP3 000041bc: SWAP1 000041bd: MSTORE 000041be: PUSH1 0x44 000041c0: ADD 000041c1: PUSH2 0x115a 000041c4: JUMP 000041c5: JUMPDEST 000041c6: PUSH1 0x40 000041c8: MLOAD 000041c9: PUSH4 0x01abe889 000041ce: PUSH1 0xe2 000041d0: SHL 000041d1: DUP2 000041d2: MSTORE 000041d3: PUSH1 0x04 000041d5: DUP2 000041d6: ADD 000041d7: DUP6 000041d8: SWAP1 000041d9: MSTORE 000041da: PUSH1 0x24 000041dc: DUP2 000041dd: ADD 000041de: DUP5 000041df: SWAP1 000041e0: MSTORE 000041e1: PUSH1 0x01 000041e3: PUSH1 0x01 000041e5: PUSH1 0xa0 000041e7: SHL 000041e8: SUB 000041e9: DUP1 000041ea: DUP5 000041eb: AND 000041ec: PUSH1 0x44 000041ee: DUP4 000041ef: ADD 000041f0: MSTORE 000041f1: DUP1 000041f2: DUP4 000041f3: AND 000041f4: PUSH1 0x64 000041f6: DUP4 000041f7: ADD 000041f8: MSTORE 000041f9: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000421a: AND 0000421b: PUSH1 0x84 0000421d: DUP3 0000421e: ADD 0000421f: MSTORE 00004220: PUSH1 0x1e 00004222: PUSH1 0xa4 00004224: DUP3 00004225: ADD 00004226: MSTORE 00004227: PUSH1 0x02 00004229: PUSH1 0xc4 0000422b: DUP3 0000422c: ADD 0000422d: MSTORE 0000422e: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00004243: SWAP1 00004244: PUSH4 0x06afa224 00004249: SWAP1 0000424a: PUSH1 0xe4 0000424c: ADD 0000424d: PUSH1 0x00 0000424f: PUSH1 0x40 00004251: MLOAD 00004252: DUP1 00004253: DUP4 00004254: SUB 00004255: DUP2 00004256: DUP7 00004257: DUP1 00004258: EXTCODESIZE 00004259: ISZERO 0000425a: DUP1 0000425b: ISZERO 0000425c: PUSH2 0x4264 0000425f: JUMPI 00004260: PUSH1 0x00 00004262: DUP1 00004263: REVERT 00004264: JUMPDEST 00004265: POP 00004266: GAS 00004267: DELEGATECALL 00004268: ISZERO 00004269: DUP1 0000426a: ISZERO 0000426b: PUSH2 0x4278 0000426e: JUMPI 0000426f: RETURNDATASIZE 00004270: PUSH1 0x00 00004272: DUP1 00004273: RETURNDATACOPY 00004274: RETURNDATASIZE 00004275: PUSH1 0x00 00004277: REVERT 00004278: JUMPDEST 00004279: POP 0000427a: POP 0000427b: POP 0000427c: POP 0000427d: POP 0000427e: POP 0000427f: POP 00004280: POP 00004281: JUMP 00004282: JUMPDEST 00004283: PUSH1 0x00 00004285: DUP2 00004286: ISZERO 00004287: PUSH2 0x0d62 0000428a: JUMPI 0000428b: PUSH2 0x4292 0000428e: PUSH2 0x1ea5 00004291: JUMP 00004292: JUMPDEST 00004293: PUSH2 0x42a4 00004296: JUMPI 00004297: PUSH2 0x429f 0000429a: DUP4 0000429b: PUSH2 0x232d 0000429e: JUMP 0000429f: JUMPDEST 000042a0: PUSH2 0x0df6 000042a3: JUMP 000042a4: JUMPDEST 000042a5: POP 000042a6: PUSH1 0x00 000042a8: SWAP3 000042a9: SWAP2 000042aa: POP 000042ab: POP 000042ac: JUMP 000042ad: JUMPDEST 000042ae: PUSH2 0x42fe 000042b1: PUSH1 0x40 000042b3: MLOAD 000042b4: DUP1 000042b5: PUSH2 0x0120 000042b8: ADD 000042b9: PUSH1 0x40 000042bb: MSTORE 000042bc: DUP1 000042bd: PUSH1 0x00 000042bf: ISZERO 000042c0: ISZERO 000042c1: DUP2 000042c2: MSTORE 000042c3: PUSH1 0x20 000042c5: ADD 000042c6: PUSH1 0x00 000042c8: DUP2 000042c9: MSTORE 000042ca: PUSH1 0x20 000042cc: ADD 000042cd: PUSH1 0x00 000042cf: DUP2 000042d0: MSTORE 000042d1: PUSH1 0x20 000042d3: ADD 000042d4: PUSH1 0x00 000042d6: DUP2 000042d7: MSTORE 000042d8: PUSH1 0x20 000042da: ADD 000042db: PUSH1 0x00 000042dd: DUP2 000042de: MSTORE 000042df: PUSH1 0x20 000042e1: ADD 000042e2: PUSH1 0x00 000042e4: DUP2 000042e5: MSTORE 000042e6: PUSH1 0x20 000042e8: ADD 000042e9: PUSH1 0x00 000042eb: DUP2 000042ec: MSTORE 000042ed: PUSH1 0x20 000042ef: ADD 000042f0: PUSH1 0x00 000042f2: DUP2 000042f3: MSTORE 000042f4: PUSH1 0x20 000042f6: ADD 000042f7: PUSH1 0x00 000042f9: DUP2 000042fa: MSTORE 000042fb: POP 000042fc: SWAP1 000042fd: JUMP 000042fe: JUMPDEST 000042ff: PUSH1 0x40 00004301: DUP5 00004302: ADD 00004303: MLOAD 00004304: ISZERO 00004305: DUP1 00004306: ISZERO 00004307: PUSH2 0x4312 0000430a: JUMPI 0000430b: POP 0000430c: PUSH1 0xa0 0000430e: DUP5 0000430f: ADD 00004310: MLOAD 00004311: ISZERO 00004312: JUMPDEST 00004313: ISZERO 00004314: PUSH2 0x4330 00004317: JUMPI 00004318: PUSH1 0x40 0000431a: MLOAD 0000431b: PUSH4 0x5435b289 00004320: PUSH1 0xe1 00004322: SHL 00004323: DUP2 00004324: MSTORE 00004325: PUSH1 0x04 00004327: ADD 00004328: PUSH1 0x40 0000432a: MLOAD 0000432b: DUP1 0000432c: SWAP2 0000432d: SUB 0000432e: SWAP1 0000432f: REVERT 00004330: JUMPDEST 00004331: DUP4 00004332: PUSH1 0x60 00004334: ADD 00004335: MLOAD 00004336: PUSH1 0x01 00004338: PUSH1 0x01 0000433a: PUSH1 0xa0 0000433c: SHL 0000433d: SUB 0000433e: AND 0000433f: DUP5 00004340: PUSH1 0x00 00004342: ADD 00004343: MLOAD 00004344: PUSH1 0x01 00004346: PUSH1 0x01 00004348: PUSH1 0xa0 0000434a: SHL 0000434b: SUB 0000434c: AND 0000434d: SUB 0000434e: PUSH2 0x437b 00004351: JUMPI 00004352: PUSH1 0x60 00004354: DUP5 00004355: ADD 00004356: MLOAD 00004357: PUSH1 0x40 00004359: MLOAD 0000435a: PUSH4 0x0936a725 0000435f: PUSH1 0xe3 00004361: SHL 00004362: DUP2 00004363: MSTORE 00004364: PUSH1 0x01 00004366: PUSH1 0x01 00004368: PUSH1 0xa0 0000436a: SHL 0000436b: SUB 0000436c: SWAP1 0000436d: SWAP2 0000436e: AND 0000436f: PUSH1 0x04 00004371: DUP3 00004372: ADD 00004373: MSTORE 00004374: PUSH1 0x24 00004376: ADD 00004377: PUSH2 0x115a 0000437a: JUMP 0000437b: JUMPDEST 0000437c: PUSH1 0x26 0000437e: SLOAD 0000437f: PUSH1 0x40 00004381: MLOAD 00004382: PUSH4 0x02e76947 00004387: PUSH1 0xe2 00004389: SHL 0000438a: DUP2 0000438b: MSTORE 0000438c: PUSH1 0x00 0000438e: SWAP2 0000438f: PUSH1 0x01 00004391: PUSH1 0x01 00004393: PUSH1 0xa0 00004395: SHL 00004396: SUB 00004397: AND 00004398: SWAP1 00004399: PUSH4 0x0b9da51c 0000439e: SWAP1 0000439f: PUSH2 0x43ac 000043a2: SWAP1 000043a3: DUP9 000043a4: SWAP1 000043a5: PUSH1 0x04 000043a7: ADD 000043a8: PUSH2 0x54d5 000043ab: JUMP 000043ac: JUMPDEST 000043ad: PUSH2 0x0160 000043b0: PUSH1 0x40 000043b2: MLOAD 000043b3: DUP1 000043b4: DUP4 000043b5: SUB 000043b6: DUP2 000043b7: PUSH1 0x00 000043b9: DUP8 000043ba: GAS 000043bb: CALL 000043bc: ISZERO 000043bd: DUP1 000043be: ISZERO 000043bf: PUSH2 0x43cc 000043c2: JUMPI 000043c3: RETURNDATASIZE 000043c4: PUSH1 0x00 000043c6: DUP1 000043c7: RETURNDATACOPY 000043c8: RETURNDATASIZE 000043c9: PUSH1 0x00 000043cb: REVERT 000043cc: JUMPDEST 000043cd: POP 000043ce: POP 000043cf: POP 000043d0: POP 000043d1: PUSH1 0x40 000043d3: MLOAD 000043d4: RETURNDATASIZE 000043d5: PUSH1 0x1f 000043d7: NOT 000043d8: PUSH1 0x1f 000043da: DUP3 000043db: ADD 000043dc: AND 000043dd: DUP3 000043de: ADD 000043df: DUP1 000043e0: PUSH1 0x40 000043e2: MSTORE 000043e3: POP 000043e4: DUP2 000043e5: ADD 000043e6: SWAP1 000043e7: PUSH2 0x43f0 000043ea: SWAP2 000043eb: SWAP1 000043ec: PUSH2 0x5557 000043ef: JUMP 000043f0: JUMPDEST 000043f1: PUSH1 0x60 000043f3: DUP1 000043f4: DUP8 000043f5: ADD 000043f6: MLOAD 000043f7: PUSH1 0x01 000043f9: PUSH1 0x01 000043fb: PUSH1 0xa0 000043fd: SHL 000043fe: SUB 000043ff: SWAP1 00004400: DUP2 00004401: AND 00004402: PUSH1 0x00 00004404: SWAP1 00004405: DUP2 00004406: MSTORE 00004407: PUSH1 0x0c 00004409: PUSH1 0x20 0000440b: SWAP1 0000440c: DUP2 0000440d: MSTORE 0000440e: PUSH1 0x40 00004410: DUP1 00004411: DUP4 00004412: KECCAK256 00004413: DUP12 00004414: MLOAD 00004415: DUP6 00004416: AND 00004417: DUP5 00004418: MSTORE 00004419: SWAP3 0000441a: DUP2 0000441b: SWAP1 0000441c: KECCAK256 0000441d: PUSH1 0x26 0000441f: SLOAD 00004420: DUP3 00004421: MLOAD 00004422: PUSH1 0x80 00004424: DUP2 00004425: ADD 00004426: DUP5 00004427: MSTORE 00004428: PUSH1 0x1e 0000442a: SLOAD 0000442b: DUP2 0000442c: MSTORE 0000442d: PUSH1 0x1f 0000442f: SLOAD 00004430: SWAP5 00004431: DUP2 00004432: ADD 00004433: SWAP5 00004434: SWAP1 00004435: SWAP5 00004436: MSTORE 00004437: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00004458: DUP7 00004459: AND 0000445a: DUP5 0000445b: DUP5 0000445c: ADD 0000445d: MSTORE 0000445e: PUSH1 0x0d 00004460: SLOAD 00004461: PUSH1 0xff 00004463: AND 00004464: ISZERO 00004465: ISZERO 00004466: SWAP7 00004467: DUP5 00004468: ADD 00004469: SWAP7 0000446a: SWAP1 0000446b: SWAP7 0000446c: MSTORE 0000446d: SWAP1 0000446e: MLOAD 0000446f: PUSH4 0xd3f34d29 00004474: PUSH1 0xe0 00004476: SHL 00004477: DUP2 00004478: MSTORE 00004479: SWAP6 0000447a: SWAP7 0000447b: POP 0000447c: PUSH20 0xd18bac6d95119237b225db48ec29155a8cd08743 00004491: SWAP6 00004492: PUSH4 0xd3f34d29 00004497: SWAP6 00004498: PUSH2 0x44b4 0000449b: SWAP6 0000449c: SWAP3 0000449d: SWAP4 0000449e: DUP15 0000449f: SWAP4 000044a0: DUP15 000044a1: SWAP4 000044a2: DUP12 000044a3: SWAP4 000044a4: SWAP1 000044a5: SWAP2 000044a6: AND 000044a7: SWAP2 000044a8: SWAP1 000044a9: DUP15 000044aa: SWAP1 000044ab: DUP15 000044ac: SWAP1 000044ad: PUSH1 0x04 000044af: ADD 000044b0: PUSH2 0x561a 000044b3: JUMP 000044b4: JUMPDEST 000044b5: PUSH2 0x0120 000044b8: PUSH1 0x40 000044ba: MLOAD 000044bb: DUP1 000044bc: DUP4 000044bd: SUB 000044be: DUP2 000044bf: DUP7 000044c0: GAS 000044c1: DELEGATECALL 000044c2: ISZERO 000044c3: DUP1 000044c4: ISZERO 000044c5: PUSH2 0x44d2 000044c8: JUMPI 000044c9: RETURNDATASIZE 000044ca: PUSH1 0x00 000044cc: DUP1 000044cd: RETURNDATACOPY 000044ce: RETURNDATASIZE 000044cf: PUSH1 0x00 000044d1: REVERT 000044d2: JUMPDEST 000044d3: POP 000044d4: POP 000044d5: POP 000044d6: POP 000044d7: PUSH1 0x40 000044d9: MLOAD 000044da: RETURNDATASIZE 000044db: PUSH1 0x1f 000044dd: NOT 000044de: PUSH1 0x1f 000044e0: DUP3 000044e1: ADD 000044e2: AND 000044e3: DUP3 000044e4: ADD 000044e5: DUP1 000044e6: PUSH1 0x40 000044e8: MSTORE 000044e9: POP 000044ea: DUP2 000044eb: ADD 000044ec: SWAP1 000044ed: PUSH2 0x3d3c 000044f0: SWAP2 000044f1: SWAP1 000044f2: PUSH2 0x525c 000044f5: JUMP 000044f6: JUMPDEST 000044f7: PUSH1 0x60 000044f9: DUP2 000044fa: PUSH1 0x00 000044fc: ADD 000044fd: DUP1 000044fe: SLOAD 000044ff: DUP1 00004500: PUSH1 0x20 00004502: MUL 00004503: PUSH1 0x20 00004505: ADD 00004506: PUSH1 0x40 00004508: MLOAD 00004509: SWAP1 0000450a: DUP2 0000450b: ADD 0000450c: PUSH1 0x40 0000450e: MSTORE 0000450f: DUP1 00004510: SWAP3 00004511: SWAP2 00004512: SWAP1 00004513: DUP2 00004514: DUP2 00004515: MSTORE 00004516: PUSH1 0x20 00004518: ADD 00004519: DUP3 0000451a: DUP1 0000451b: SLOAD 0000451c: DUP1 0000451d: ISZERO 0000451e: PUSH2 0x4546 00004521: JUMPI 00004522: PUSH1 0x20 00004524: MUL 00004525: DUP3 00004526: ADD 00004527: SWAP2 00004528: SWAP1 00004529: PUSH1 0x00 0000452b: MSTORE 0000452c: PUSH1 0x20 0000452e: PUSH1 0x00 00004530: KECCAK256 00004531: SWAP1 00004532: JUMPDEST 00004533: DUP2 00004534: SLOAD 00004535: DUP2 00004536: MSTORE 00004537: PUSH1 0x20 00004539: ADD 0000453a: SWAP1 0000453b: PUSH1 0x01 0000453d: ADD 0000453e: SWAP1 0000453f: DUP1 00004540: DUP4 00004541: GT 00004542: PUSH2 0x4532 00004545: JUMPI 00004546: JUMPDEST 00004547: POP 00004548: POP 00004549: POP 0000454a: POP 0000454b: POP 0000454c: SWAP1 0000454d: POP 0000454e: SWAP2 0000454f: SWAP1 00004550: POP 00004551: JUMP 00004552: JUMPDEST 00004553: PUSH1 0x00 00004555: DUP2 00004556: DUP2 00004557: MSTORE 00004558: PUSH1 0x01 0000455a: DUP4 0000455b: ADD 0000455c: PUSH1 0x20 0000455e: MSTORE 0000455f: PUSH1 0x40 00004561: DUP2 00004562: KECCAK256 00004563: SLOAD 00004564: PUSH2 0x4599 00004567: JUMPI 00004568: POP 00004569: DUP2 0000456a: SLOAD 0000456b: PUSH1 0x01 0000456d: DUP2 0000456e: DUP2 0000456f: ADD 00004570: DUP5 00004571: SSTORE 00004572: PUSH1 0x00 00004574: DUP5 00004575: DUP2 00004576: MSTORE 00004577: PUSH1 0x20 00004579: DUP1 0000457a: DUP3 0000457b: KECCAK256 0000457c: SWAP1 0000457d: SWAP4 0000457e: ADD 0000457f: DUP5 00004580: SWAP1 00004581: SSTORE 00004582: DUP5 00004583: SLOAD 00004584: DUP5 00004585: DUP3 00004586: MSTORE 00004587: DUP3 00004588: DUP7 00004589: ADD 0000458a: SWAP1 0000458b: SWAP4 0000458c: MSTORE 0000458d: PUSH1 0x40 0000458f: SWAP1 00004590: KECCAK256 00004591: SWAP2 00004592: SWAP1 00004593: SWAP2 00004594: SSTORE 00004595: PUSH2 0x0d62 00004598: JUMP 00004599: JUMPDEST 0000459a: POP 0000459b: PUSH1 0x00 0000459d: PUSH2 0x0d62 000045a0: JUMP 000045a1: JUMPDEST 000045a2: PUSH1 0x00 000045a4: DUP1 000045a5: DUP1 000045a6: PUSH1 0x00 000045a8: NOT 000045a9: DUP6 000045aa: DUP8 000045ab: MULMOD 000045ac: DUP6 000045ad: DUP8 000045ae: MUL 000045af: SWAP3 000045b0: POP 000045b1: DUP3 000045b2: DUP2 000045b3: LT 000045b4: DUP4 000045b5: DUP3 000045b6: SUB 000045b7: SUB 000045b8: SWAP2 000045b9: POP 000045ba: POP 000045bb: DUP1 000045bc: PUSH1 0x00 000045be: SUB 000045bf: PUSH2 0x45db 000045c2: JUMPI 000045c3: DUP4 000045c4: DUP3 000045c5: DUP2 000045c6: PUSH2 0x45d1 000045c9: JUMPI 000045ca: PUSH2 0x45d1 000045cd: PUSH2 0x5508 000045d0: JUMP 000045d1: JUMPDEST 000045d2: DIV 000045d3: SWAP3 000045d4: POP 000045d5: POP 000045d6: POP 000045d7: PUSH2 0x0df6 000045da: JUMP 000045db: JUMPDEST 000045dc: DUP1 000045dd: DUP5 000045de: GT 000045df: PUSH2 0x45e7 000045e2: JUMPI 000045e3: PUSH1 0x00 000045e5: DUP1 000045e6: REVERT 000045e7: JUMPDEST 000045e8: PUSH1 0x00 000045ea: DUP5 000045eb: DUP7 000045ec: DUP9 000045ed: MULMOD 000045ee: PUSH1 0x02 000045f0: PUSH1 0x01 000045f2: DUP8 000045f3: NOT 000045f4: DUP2 000045f5: ADD 000045f6: DUP9 000045f7: AND 000045f8: SWAP8 000045f9: DUP9 000045fa: SWAP1 000045fb: DIV 000045fc: PUSH1 0x03 000045fe: DUP2 000045ff: MUL 00004600: DUP4 00004601: XOR 00004602: DUP1 00004603: DUP3 00004604: MUL 00004605: DUP5 00004606: SUB 00004607: MUL 00004608: DUP1 00004609: DUP3 0000460a: MUL 0000460b: DUP5 0000460c: SUB 0000460d: MUL 0000460e: DUP1 0000460f: DUP3 00004610: MUL 00004611: DUP5 00004612: SUB 00004613: MUL 00004614: DUP1 00004615: DUP3 00004616: MUL 00004617: DUP5 00004618: SUB 00004619: MUL 0000461a: DUP1 0000461b: DUP3 0000461c: MUL 0000461d: DUP5 0000461e: SUB 0000461f: MUL 00004620: SWAP1 00004621: DUP2 00004622: MUL 00004623: SWAP1 00004624: SWAP3 00004625: SUB 00004626: SWAP1 00004627: SWAP2 00004628: MUL 00004629: PUSH1 0x00 0000462b: DUP9 0000462c: SWAP1 0000462d: SUB 0000462e: DUP9 0000462f: SWAP1 00004630: DIV 00004631: SWAP1 00004632: SWAP2 00004633: ADD 00004634: DUP6 00004635: DUP4 00004636: GT 00004637: SWAP1 00004638: SWAP5 00004639: SUB 0000463a: SWAP4 0000463b: SWAP1 0000463c: SWAP4 0000463d: MUL 0000463e: SWAP4 0000463f: SUB 00004640: SWAP5 00004641: SWAP1 00004642: SWAP5 00004643: DIV 00004644: SWAP2 00004645: SWAP1 00004646: SWAP2 00004647: OR 00004648: MUL 00004649: SWAP5 0000464a: SWAP4 0000464b: POP 0000464c: POP 0000464d: POP 0000464e: POP 0000464f: JUMP 00004650: JUMPDEST 00004651: PUSH1 0x40 00004653: MLOAD 00004654: PUSH4 0x2a36b439 00004659: PUSH1 0xe2 0000465b: SHL 0000465c: DUP2 0000465d: MSTORE 0000465e: PUSH1 0x04 00004660: DUP2 00004661: ADD 00004662: DUP5 00004663: SWAP1 00004664: MSTORE 00004665: PUSH1 0x24 00004667: DUP2 00004668: ADD 00004669: DUP4 0000466a: SWAP1 0000466b: MSTORE 0000466c: PUSH1 0x14 0000466e: PUSH1 0x44 00004670: DUP3 00004671: ADD 00004672: MSTORE 00004673: PUSH1 0x02 00004675: PUSH1 0x64 00004677: DUP3 00004678: ADD 00004679: MSTORE 0000467a: DUP2 0000467b: ISZERO 0000467c: ISZERO 0000467d: PUSH1 0x84 0000467f: DUP3 00004680: ADD 00004681: MSTORE 00004682: PUSH1 0x00 00004684: SWAP1 00004685: PUSH20 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea 0000469a: SWAP1 0000469b: PUSH4 0xa8dad0e4 000046a0: SWAP1 000046a1: PUSH1 0xa4 000046a3: ADD 000046a4: PUSH1 0x20 000046a6: PUSH1 0x40 000046a8: MLOAD 000046a9: DUP1 000046aa: DUP4 000046ab: SUB 000046ac: DUP2 000046ad: DUP7 000046ae: GAS 000046af: DELEGATECALL 000046b0: ISZERO 000046b1: DUP1 000046b2: ISZERO 000046b3: PUSH2 0x46c0 000046b6: JUMPI 000046b7: RETURNDATASIZE 000046b8: PUSH1 0x00 000046ba: DUP1 000046bb: RETURNDATACOPY 000046bc: RETURNDATASIZE 000046bd: PUSH1 0x00 000046bf: REVERT 000046c0: JUMPDEST 000046c1: POP 000046c2: POP 000046c3: POP 000046c4: POP 000046c5: PUSH1 0x40 000046c7: MLOAD 000046c8: RETURNDATASIZE 000046c9: PUSH1 0x1f 000046cb: NOT 000046cc: PUSH1 0x1f 000046ce: DUP3 000046cf: ADD 000046d0: AND 000046d1: DUP3 000046d2: ADD 000046d3: DUP1 000046d4: PUSH1 0x40 000046d6: MSTORE 000046d7: POP 000046d8: DUP2 000046d9: ADD 000046da: SWAP1 000046db: PUSH2 0x10b9 000046de: SWAP2 000046df: SWAP1 000046e0: PUSH2 0x4f7e 000046e3: JUMP 000046e4: JUMPDEST 000046e5: PUSH1 0x00 000046e7: DUP2 000046e8: MLOAD 000046e9: DUP1 000046ea: DUP5 000046eb: MSTORE 000046ec: PUSH1 0x00 000046ee: JUMPDEST 000046ef: DUP2 000046f0: DUP2 000046f1: LT 000046f2: ISZERO 000046f3: PUSH2 0x470a 000046f6: JUMPI 000046f7: PUSH1 0x20 000046f9: DUP2 000046fa: DUP6 000046fb: ADD 000046fc: DUP2 000046fd: ADD 000046fe: MLOAD 000046ff: DUP7 00004700: DUP4 00004701: ADD 00004702: DUP3 00004703: ADD 00004704: MSTORE 00004705: ADD 00004706: PUSH2 0x46ee 00004709: JUMP 0000470a: JUMPDEST 0000470b: POP 0000470c: PUSH1 0x00 0000470e: PUSH1 0x20 00004710: DUP3 00004711: DUP7 00004712: ADD 00004713: ADD 00004714: MSTORE 00004715: PUSH1 0x20 00004717: PUSH1 0x1f 00004719: NOT 0000471a: PUSH1 0x1f 0000471c: DUP4 0000471d: ADD 0000471e: AND 0000471f: DUP6 00004720: ADD 00004721: ADD 00004722: SWAP2 00004723: POP 00004724: POP 00004725: SWAP3 00004726: SWAP2 00004727: POP 00004728: POP 00004729: JUMP 0000472a: JUMPDEST 0000472b: PUSH1 0x20 0000472d: DUP2 0000472e: MSTORE 0000472f: PUSH1 0x00 00004731: PUSH2 0x0df6 00004734: PUSH1 0x20 00004736: DUP4 00004737: ADD 00004738: DUP5 00004739: PUSH2 0x46e4 0000473c: JUMP 0000473d: JUMPDEST 0000473e: PUSH1 0x00 00004740: PUSH1 0x20 00004742: DUP3 00004743: DUP5 00004744: SUB 00004745: SLT 00004746: ISZERO 00004747: PUSH2 0x474f 0000474a: JUMPI 0000474b: PUSH1 0x00 0000474d: DUP1 0000474e: REVERT 0000474f: JUMPDEST 00004750: POP 00004751: CALLDATALOAD 00004752: SWAP2 00004753: SWAP1 00004754: POP 00004755: JUMP 00004756: JUMPDEST 00004757: PUSH1 0x01 00004759: PUSH1 0x01 0000475b: PUSH1 0xa0 0000475d: SHL 0000475e: SUB 0000475f: DUP2 00004760: AND 00004761: DUP2 00004762: EQ 00004763: PUSH2 0x1e96 00004766: JUMPI 00004767: PUSH1 0x00 00004769: DUP1 0000476a: REVERT 0000476b: JUMPDEST 0000476c: PUSH1 0x00 0000476e: DUP1 0000476f: PUSH1 0x40 00004771: DUP4 00004772: DUP6 00004773: SUB 00004774: SLT 00004775: ISZERO 00004776: PUSH2 0x477e 00004779: JUMPI 0000477a: PUSH1 0x00 0000477c: DUP1 0000477d: REVERT 0000477e: JUMPDEST 0000477f: DUP3 00004780: CALLDATALOAD 00004781: PUSH2 0x4789 00004784: DUP2 00004785: PUSH2 0x4756 00004788: JUMP 00004789: JUMPDEST 0000478a: SWAP5 0000478b: PUSH1 0x20 0000478d: SWAP4 0000478e: SWAP1 0000478f: SWAP4 00004790: ADD 00004791: CALLDATALOAD 00004792: SWAP4 00004793: POP 00004794: POP 00004795: POP 00004796: JUMP 00004797: JUMPDEST 00004798: PUSH1 0x20 0000479a: DUP1 0000479b: DUP3 0000479c: MSTORE 0000479d: DUP3 0000479e: MLOAD 0000479f: DUP3 000047a0: DUP3 000047a1: ADD 000047a2: DUP2 000047a3: SWAP1 000047a4: MSTORE 000047a5: PUSH1 0x00 000047a7: SWAP2 000047a8: SWAP1 000047a9: DUP5 000047aa: DUP3 000047ab: ADD 000047ac: SWAP1 000047ad: PUSH1 0x40 000047af: DUP6 000047b0: ADD 000047b1: SWAP1 000047b2: DUP5 000047b3: JUMPDEST 000047b4: DUP2 000047b5: DUP2 000047b6: LT 000047b7: ISZERO 000047b8: PUSH2 0x47d8 000047bb: JUMPI 000047bc: DUP4 000047bd: MLOAD 000047be: PUSH1 0x01 000047c0: PUSH1 0x01 000047c2: PUSH1 0xa0 000047c4: SHL 000047c5: SUB 000047c6: AND 000047c7: DUP4 000047c8: MSTORE 000047c9: SWAP3 000047ca: DUP5 000047cb: ADD 000047cc: SWAP3 000047cd: SWAP2 000047ce: DUP5 000047cf: ADD 000047d0: SWAP2 000047d1: PUSH1 0x01 000047d3: ADD 000047d4: PUSH2 0x47b3 000047d7: JUMP 000047d8: JUMPDEST 000047d9: POP 000047da: SWAP1 000047db: SWAP7 000047dc: SWAP6 000047dd: POP 000047de: POP 000047df: POP 000047e0: POP 000047e1: POP 000047e2: POP 000047e3: JUMP 000047e4: JUMPDEST 000047e5: PUSH1 0x00 000047e7: PUSH1 0x20 000047e9: DUP3 000047ea: DUP5 000047eb: SUB 000047ec: SLT 000047ed: ISZERO 000047ee: PUSH2 0x47f6 000047f1: JUMPI 000047f2: PUSH1 0x00 000047f4: DUP1 000047f5: REVERT 000047f6: JUMPDEST 000047f7: DUP2 000047f8: CALLDATALOAD 000047f9: PUSH2 0x0df6 000047fc: DUP2 000047fd: PUSH2 0x4756 00004800: JUMP 00004801: JUMPDEST 00004802: PUSH1 0x00 00004804: DUP1 00004805: PUSH1 0x00 00004807: PUSH1 0x60 00004809: DUP5 0000480a: DUP7 0000480b: SUB 0000480c: SLT 0000480d: ISZERO 0000480e: PUSH2 0x4816 00004811: JUMPI 00004812: PUSH1 0x00 00004814: DUP1 00004815: REVERT 00004816: JUMPDEST 00004817: DUP4 00004818: CALLDATALOAD 00004819: PUSH2 0x4821 0000481c: DUP2 0000481d: PUSH2 0x4756 00004820: JUMP 00004821: JUMPDEST 00004822: SWAP3 00004823: POP 00004824: PUSH1 0x20 00004826: DUP5 00004827: ADD 00004828: CALLDATALOAD 00004829: PUSH2 0x4831 0000482c: DUP2 0000482d: PUSH2 0x4756 00004830: JUMP 00004831: JUMPDEST 00004832: SWAP3 00004833: SWAP6 00004834: SWAP3 00004835: SWAP5 00004836: POP 00004837: POP 00004838: POP 00004839: PUSH1 0x40 0000483b: SWAP2 0000483c: SWAP1 0000483d: SWAP2 0000483e: ADD 0000483f: CALLDATALOAD 00004840: SWAP1 00004841: JUMP 00004842: JUMPDEST 00004843: PUSH4 0x4e487b71 00004848: PUSH1 0xe0 0000484a: SHL 0000484b: PUSH1 0x00 0000484d: MSTORE 0000484e: PUSH1 0x41 00004850: PUSH1 0x04 00004852: MSTORE 00004853: PUSH1 0x24 00004855: PUSH1 0x00 00004857: REVERT 00004858: JUMPDEST 00004859: PUSH1 0x40 0000485b: MLOAD 0000485c: PUSH1 0xc0 0000485e: DUP2 0000485f: ADD 00004860: PUSH1 0x01 00004862: PUSH1 0x01 00004864: PUSH1 0x40 00004866: SHL 00004867: SUB 00004868: DUP2 00004869: GT 0000486a: DUP3 0000486b: DUP3 0000486c: LT 0000486d: OR 0000486e: ISZERO 0000486f: PUSH2 0x487a 00004872: JUMPI 00004873: PUSH2 0x487a 00004876: PUSH2 0x4842 00004879: JUMP 0000487a: JUMPDEST 0000487b: PUSH1 0x40 0000487d: MSTORE 0000487e: SWAP1 0000487f: JUMP 00004880: JUMPDEST 00004881: PUSH1 0x40 00004883: MLOAD 00004884: PUSH2 0x0120 00004887: DUP2 00004888: ADD 00004889: PUSH1 0x01 0000488b: PUSH1 0x01 0000488d: PUSH1 0x40 0000488f: SHL 00004890: SUB 00004891: DUP2 00004892: GT 00004893: DUP3 00004894: DUP3 00004895: LT 00004896: OR 00004897: ISZERO 00004898: PUSH2 0x487a 0000489b: JUMPI 0000489c: PUSH2 0x487a 0000489f: PUSH2 0x4842 000048a2: JUMP 000048a3: JUMPDEST 000048a4: PUSH1 0x40 000048a6: MLOAD 000048a7: PUSH2 0x0160 000048aa: DUP2 000048ab: ADD 000048ac: PUSH1 0x01 000048ae: PUSH1 0x01 000048b0: PUSH1 0x40 000048b2: SHL 000048b3: SUB 000048b4: DUP2 000048b5: GT 000048b6: DUP3 000048b7: DUP3 000048b8: LT 000048b9: OR 000048ba: ISZERO 000048bb: PUSH2 0x487a 000048be: JUMPI 000048bf: PUSH2 0x487a 000048c2: PUSH2 0x4842 000048c5: JUMP 000048c6: JUMPDEST 000048c7: PUSH1 0x40 000048c9: MLOAD 000048ca: PUSH1 0x1f 000048cc: DUP3 000048cd: ADD 000048ce: PUSH1 0x1f 000048d0: NOT 000048d1: AND 000048d2: DUP2 000048d3: ADD 000048d4: PUSH1 0x01 000048d6: PUSH1 0x01 000048d8: PUSH1 0x40 000048da: SHL 000048db: SUB 000048dc: DUP2 000048dd: GT 000048de: DUP3 000048df: DUP3 000048e0: LT 000048e1: OR 000048e2: ISZERO 000048e3: PUSH2 0x48ee 000048e6: JUMPI 000048e7: PUSH2 0x48ee 000048ea: PUSH2 0x4842 000048ed: JUMP 000048ee: JUMPDEST 000048ef: PUSH1 0x40 000048f1: MSTORE 000048f2: SWAP2 000048f3: SWAP1 000048f4: POP 000048f5: JUMP 000048f6: JUMPDEST 000048f7: PUSH1 0x00 000048f9: PUSH1 0x01 000048fb: PUSH1 0x01 000048fd: PUSH1 0x40 000048ff: SHL 00004900: SUB 00004901: DUP4 00004902: GT 00004903: ISZERO 00004904: PUSH2 0x490f 00004907: JUMPI 00004908: PUSH2 0x490f 0000490b: PUSH2 0x4842 0000490e: JUMP 0000490f: JUMPDEST 00004910: PUSH2 0x4922 00004913: PUSH1 0x1f 00004915: DUP5 00004916: ADD 00004917: PUSH1 0x1f 00004919: NOT 0000491a: AND 0000491b: PUSH1 0x20 0000491d: ADD 0000491e: PUSH2 0x48c6 00004921: JUMP 00004922: JUMPDEST 00004923: SWAP1 00004924: POP 00004925: DUP3 00004926: DUP2 00004927: MSTORE 00004928: DUP4 00004929: DUP4 0000492a: DUP4 0000492b: ADD 0000492c: GT 0000492d: ISZERO 0000492e: PUSH2 0x4936 00004931: JUMPI 00004932: PUSH1 0x00 00004934: DUP1 00004935: REVERT 00004936: JUMPDEST 00004937: DUP3 00004938: DUP3 00004939: PUSH1 0x20 0000493b: DUP4 0000493c: ADD 0000493d: CALLDATACOPY 0000493e: PUSH1 0x00 00004940: PUSH1 0x20 00004942: DUP5 00004943: DUP4 00004944: ADD 00004945: ADD 00004946: MSTORE 00004947: SWAP4 00004948: SWAP3 00004949: POP 0000494a: POP 0000494b: POP 0000494c: JUMP 0000494d: JUMPDEST 0000494e: PUSH1 0x00 00004950: DUP3 00004951: PUSH1 0x1f 00004953: DUP4 00004954: ADD 00004955: SLT 00004956: PUSH2 0x495e 00004959: JUMPI 0000495a: PUSH1 0x00 0000495c: DUP1 0000495d: REVERT 0000495e: JUMPDEST 0000495f: PUSH2 0x0df6 00004962: DUP4 00004963: DUP4 00004964: CALLDATALOAD 00004965: PUSH1 0x20 00004967: DUP6 00004968: ADD 00004969: PUSH2 0x48f6 0000496c: JUMP 0000496d: JUMPDEST 0000496e: PUSH1 0x00 00004970: DUP1 00004971: PUSH1 0x00 00004973: DUP1 00004974: PUSH1 0x80 00004976: DUP6 00004977: DUP8 00004978: SUB 00004979: SLT 0000497a: ISZERO 0000497b: PUSH2 0x4983 0000497e: JUMPI 0000497f: PUSH1 0x00 00004981: DUP1 00004982: REVERT 00004983: JUMPDEST 00004984: DUP5 00004985: CALLDATALOAD 00004986: PUSH2 0x498e 00004989: DUP2 0000498a: PUSH2 0x4756 0000498d: JUMP 0000498e: JUMPDEST 0000498f: SWAP4 00004990: POP 00004991: PUSH1 0x20 00004993: DUP6 00004994: ADD 00004995: CALLDATALOAD 00004996: PUSH1 0x01 00004998: PUSH1 0x01 0000499a: PUSH1 0x40 0000499c: SHL 0000499d: SUB 0000499e: DUP1 0000499f: DUP3 000049a0: GT 000049a1: ISZERO 000049a2: PUSH2 0x49aa 000049a5: JUMPI 000049a6: PUSH1 0x00 000049a8: DUP1 000049a9: REVERT 000049aa: JUMPDEST 000049ab: PUSH2 0x49b6 000049ae: DUP9 000049af: DUP4 000049b0: DUP10 000049b1: ADD 000049b2: PUSH2 0x494d 000049b5: JUMP 000049b6: JUMPDEST 000049b7: SWAP5 000049b8: POP 000049b9: PUSH1 0x40 000049bb: DUP8 000049bc: ADD 000049bd: CALLDATALOAD 000049be: SWAP2 000049bf: POP 000049c0: DUP1 000049c1: DUP3 000049c2: GT 000049c3: ISZERO 000049c4: PUSH2 0x49cc 000049c7: JUMPI 000049c8: PUSH1 0x00 000049ca: DUP1 000049cb: REVERT 000049cc: JUMPDEST 000049cd: PUSH2 0x49d8 000049d0: DUP9 000049d1: DUP4 000049d2: DUP10 000049d3: ADD 000049d4: PUSH2 0x494d 000049d7: JUMP 000049d8: JUMPDEST 000049d9: SWAP4 000049da: POP 000049db: PUSH1 0x60 000049dd: DUP8 000049de: ADD 000049df: CALLDATALOAD 000049e0: SWAP2 000049e1: POP 000049e2: DUP1 000049e3: DUP3 000049e4: GT 000049e5: ISZERO 000049e6: PUSH2 0x49ee 000049e9: JUMPI 000049ea: PUSH1 0x00 000049ec: DUP1 000049ed: REVERT 000049ee: JUMPDEST 000049ef: POP 000049f0: DUP6 000049f1: ADD 000049f2: PUSH1 0x1f 000049f4: DUP2 000049f5: ADD 000049f6: DUP8 000049f7: SGT 000049f8: PUSH2 0x4a00 000049fb: JUMPI 000049fc: PUSH1 0x00 000049fe: DUP1 000049ff: REVERT 00004a00: JUMPDEST 00004a01: PUSH2 0x4a0f 00004a04: DUP8 00004a05: DUP3 00004a06: CALLDATALOAD 00004a07: PUSH1 0x20 00004a09: DUP5 00004a0a: ADD 00004a0b: PUSH2 0x48f6 00004a0e: JUMP 00004a0f: JUMPDEST 00004a10: SWAP2 00004a11: POP 00004a12: POP 00004a13: SWAP3 00004a14: SWAP6 00004a15: SWAP2 00004a16: SWAP5 00004a17: POP 00004a18: SWAP3 00004a19: POP 00004a1a: JUMP 00004a1b: JUMPDEST 00004a1c: PUSH1 0x03 00004a1e: DUP2 00004a1f: LT 00004a20: PUSH2 0x1e96 00004a23: JUMPI 00004a24: PUSH1 0x00 00004a26: DUP1 00004a27: REVERT 00004a28: JUMPDEST 00004a29: PUSH1 0x00 00004a2b: PUSH1 0x20 00004a2d: DUP3 00004a2e: DUP5 00004a2f: SUB 00004a30: SLT 00004a31: ISZERO 00004a32: PUSH2 0x4a3a 00004a35: JUMPI 00004a36: PUSH1 0x00 00004a38: DUP1 00004a39: REVERT 00004a3a: JUMPDEST 00004a3b: DUP2 00004a3c: CALLDATALOAD 00004a3d: PUSH2 0x0df6 00004a40: DUP2 00004a41: PUSH2 0x4a1b 00004a44: JUMP 00004a45: JUMPDEST 00004a46: DUP2 00004a47: MLOAD 00004a48: PUSH1 0x01 00004a4a: PUSH1 0x01 00004a4c: PUSH1 0xa0 00004a4e: SHL 00004a4f: SUB 00004a50: AND 00004a51: DUP2 00004a52: MSTORE 00004a53: PUSH2 0x0140 00004a56: DUP2 00004a57: ADD 00004a58: PUSH1 0x20 00004a5a: DUP4 00004a5b: ADD 00004a5c: MLOAD 00004a5d: PUSH1 0x20 00004a5f: DUP4 00004a60: ADD 00004a61: MSTORE 00004a62: PUSH1 0x40 00004a64: DUP4 00004a65: ADD 00004a66: MLOAD 00004a67: PUSH1 0x40 00004a69: DUP4 00004a6a: ADD 00004a6b: MSTORE 00004a6c: PUSH1 0x60 00004a6e: DUP4 00004a6f: ADD 00004a70: MLOAD 00004a71: PUSH1 0x60 00004a73: DUP4 00004a74: ADD 00004a75: MSTORE 00004a76: PUSH1 0x80 00004a78: DUP4 00004a79: ADD 00004a7a: MLOAD 00004a7b: PUSH2 0x4a8f 00004a7e: PUSH1 0x80 00004a80: DUP5 00004a81: ADD 00004a82: DUP3 00004a83: PUSH1 0x01 00004a85: PUSH1 0x01 00004a87: PUSH1 0xa0 00004a89: SHL 00004a8a: SUB 00004a8b: AND 00004a8c: SWAP1 00004a8d: MSTORE 00004a8e: JUMP 00004a8f: JUMPDEST 00004a90: POP 00004a91: PUSH1 0xa0 00004a93: DUP4 00004a94: ADD 00004a95: MLOAD 00004a96: PUSH1 0xa0 00004a98: DUP4 00004a99: ADD 00004a9a: MSTORE 00004a9b: PUSH1 0xc0 00004a9d: DUP4 00004a9e: ADD 00004a9f: MLOAD 00004aa0: PUSH1 0xc0 00004aa2: DUP4 00004aa3: ADD 00004aa4: MSTORE 00004aa5: PUSH1 0xe0 00004aa7: DUP4 00004aa8: ADD 00004aa9: MLOAD 00004aaa: PUSH1 0xe0 00004aac: DUP4 00004aad: ADD 00004aae: MSTORE 00004aaf: PUSH2 0x0100 00004ab2: DUP1 00004ab3: DUP5 00004ab4: ADD 00004ab5: MLOAD 00004ab6: DUP2 00004ab7: DUP5 00004ab8: ADD 00004ab9: MSTORE 00004aba: POP 00004abb: PUSH2 0x0120 00004abe: DUP1 00004abf: DUP5 00004ac0: ADD 00004ac1: MLOAD 00004ac2: PUSH2 0x4ace 00004ac5: DUP3 00004ac6: DUP6 00004ac7: ADD 00004ac8: DUP3 00004ac9: ISZERO 00004aca: ISZERO 00004acb: SWAP1 00004acc: MSTORE 00004acd: JUMP 00004ace: JUMPDEST 00004acf: POP 00004ad0: POP 00004ad1: SWAP3 00004ad2: SWAP2 00004ad3: POP 00004ad4: POP 00004ad5: JUMP 00004ad6: JUMPDEST 00004ad7: PUSH4 0x4e487b71 00004adc: PUSH1 0xe0 00004ade: SHL 00004adf: PUSH1 0x00 00004ae1: MSTORE 00004ae2: PUSH1 0x21 00004ae4: PUSH1 0x04 00004ae6: MSTORE 00004ae7: PUSH1 0x24 00004ae9: PUSH1 0x00 00004aeb: REVERT 00004aec: JUMPDEST 00004aed: PUSH1 0x03 00004aef: DUP2 00004af0: LT 00004af1: PUSH2 0x1e96 00004af4: JUMPI 00004af5: PUSH4 0x4e487b71 00004afa: PUSH1 0xe0 00004afc: SHL 00004afd: PUSH1 0x00 00004aff: MSTORE 00004b00: PUSH1 0x21 00004b02: PUSH1 0x04 00004b04: MSTORE 00004b05: PUSH1 0x24 00004b07: PUSH1 0x00 00004b09: REVERT 00004b0a: JUMPDEST 00004b0b: PUSH1 0x20 00004b0d: DUP2 00004b0e: ADD 00004b0f: PUSH2 0x4b17 00004b12: DUP4 00004b13: PUSH2 0x4aec 00004b16: JUMP 00004b17: JUMPDEST 00004b18: SWAP2 00004b19: SWAP1 00004b1a: MSTORE 00004b1b: SWAP1 00004b1c: JUMP 00004b1d: JUMPDEST 00004b1e: PUSH1 0x00 00004b20: DUP1 00004b21: PUSH1 0x00 00004b23: DUP1 00004b24: PUSH1 0x80 00004b26: DUP6 00004b27: DUP8 00004b28: SUB 00004b29: SLT 00004b2a: ISZERO 00004b2b: PUSH2 0x4b33 00004b2e: JUMPI 00004b2f: PUSH1 0x00 00004b31: DUP1 00004b32: REVERT 00004b33: JUMPDEST 00004b34: DUP5 00004b35: CALLDATALOAD 00004b36: SWAP4 00004b37: POP 00004b38: PUSH1 0x20 00004b3a: DUP6 00004b3b: ADD 00004b3c: CALLDATALOAD 00004b3d: SWAP3 00004b3e: POP 00004b3f: PUSH1 0x40 00004b41: DUP6 00004b42: ADD 00004b43: CALLDATALOAD 00004b44: SWAP2 00004b45: POP 00004b46: PUSH1 0x60 00004b48: DUP6 00004b49: ADD 00004b4a: CALLDATALOAD 00004b4b: PUSH2 0x4b53 00004b4e: DUP2 00004b4f: PUSH2 0x4a1b 00004b52: JUMP 00004b53: JUMPDEST 00004b54: SWAP4 00004b55: SWAP7 00004b56: SWAP3 00004b57: SWAP6 00004b58: POP 00004b59: SWAP1 00004b5a: SWAP4 00004b5b: POP 00004b5c: POP 00004b5d: JUMP 00004b5e: JUMPDEST 00004b5f: PUSH1 0x00 00004b61: DUP1 00004b62: DUP4 00004b63: PUSH1 0x1f 00004b65: DUP5 00004b66: ADD 00004b67: SLT 00004b68: PUSH2 0x4b70 00004b6b: JUMPI 00004b6c: PUSH1 0x00 00004b6e: DUP1 00004b6f: REVERT 00004b70: JUMPDEST 00004b71: POP 00004b72: DUP2 00004b73: CALLDATALOAD 00004b74: PUSH1 0x01 00004b76: PUSH1 0x01 00004b78: PUSH1 0x40 00004b7a: SHL 00004b7b: SUB 00004b7c: DUP2 00004b7d: GT 00004b7e: ISZERO 00004b7f: PUSH2 0x4b87 00004b82: JUMPI 00004b83: PUSH1 0x00 00004b85: DUP1 00004b86: REVERT 00004b87: JUMPDEST 00004b88: PUSH1 0x20 00004b8a: DUP4 00004b8b: ADD 00004b8c: SWAP2 00004b8d: POP 00004b8e: DUP4 00004b8f: PUSH1 0x20 00004b91: DUP3 00004b92: PUSH1 0x05 00004b94: SHL 00004b95: DUP6 00004b96: ADD 00004b97: ADD 00004b98: GT 00004b99: ISZERO 00004b9a: PUSH2 0x4ba2 00004b9d: JUMPI 00004b9e: PUSH1 0x00 00004ba0: DUP1 00004ba1: REVERT 00004ba2: JUMPDEST 00004ba3: SWAP3 00004ba4: POP 00004ba5: SWAP3 00004ba6: SWAP1 00004ba7: POP 00004ba8: JUMP 00004ba9: JUMPDEST 00004baa: PUSH1 0x00 00004bac: DUP1 00004bad: PUSH1 0x20 00004baf: DUP4 00004bb0: DUP6 00004bb1: SUB 00004bb2: SLT 00004bb3: ISZERO 00004bb4: PUSH2 0x4bbc 00004bb7: JUMPI 00004bb8: PUSH1 0x00 00004bba: DUP1 00004bbb: REVERT 00004bbc: JUMPDEST 00004bbd: DUP3 00004bbe: CALLDATALOAD 00004bbf: PUSH1 0x01 00004bc1: PUSH1 0x01 00004bc3: PUSH1 0x40 00004bc5: SHL 00004bc6: SUB 00004bc7: DUP2 00004bc8: GT 00004bc9: ISZERO 00004bca: PUSH2 0x4bd2 00004bcd: JUMPI 00004bce: PUSH1 0x00 00004bd0: DUP1 00004bd1: REVERT 00004bd2: JUMPDEST 00004bd3: PUSH2 0x4bde 00004bd6: DUP6 00004bd7: DUP3 00004bd8: DUP7 00004bd9: ADD 00004bda: PUSH2 0x4b5e 00004bdd: JUMP 00004bde: JUMPDEST 00004bdf: SWAP1 00004be0: SWAP7 00004be1: SWAP1 00004be2: SWAP6 00004be3: POP 00004be4: SWAP4 00004be5: POP 00004be6: POP 00004be7: POP 00004be8: POP 00004be9: JUMP 00004bea: JUMPDEST 00004beb: PUSH1 0x00 00004bed: DUP1 00004bee: PUSH1 0x40 00004bf0: DUP4 00004bf1: DUP6 00004bf2: SUB 00004bf3: SLT 00004bf4: ISZERO 00004bf5: PUSH2 0x4bfd 00004bf8: JUMPI 00004bf9: PUSH1 0x00 00004bfb: DUP1 00004bfc: REVERT 00004bfd: JUMPDEST 00004bfe: DUP3 00004bff: CALLDATALOAD 00004c00: SWAP2 00004c01: POP 00004c02: PUSH1 0x20 00004c04: DUP4 00004c05: ADD 00004c06: CALLDATALOAD 00004c07: PUSH2 0x4c0f 00004c0a: DUP2 00004c0b: PUSH2 0x4756 00004c0e: JUMP 00004c0f: JUMPDEST 00004c10: DUP1 00004c11: SWAP2 00004c12: POP 00004c13: POP 00004c14: SWAP3 00004c15: POP 00004c16: SWAP3 00004c17: SWAP1 00004c18: POP 00004c19: JUMP 00004c1a: JUMPDEST 00004c1b: DUP1 00004c1c: ISZERO 00004c1d: ISZERO 00004c1e: DUP2 00004c1f: EQ 00004c20: PUSH2 0x1e96 00004c23: JUMPI 00004c24: PUSH1 0x00 00004c26: DUP1 00004c27: REVERT 00004c28: JUMPDEST 00004c29: PUSH1 0x00 00004c2b: PUSH1 0x20 00004c2d: DUP3 00004c2e: DUP5 00004c2f: SUB 00004c30: SLT 00004c31: ISZERO 00004c32: PUSH2 0x4c3a 00004c35: JUMPI 00004c36: PUSH1 0x00 00004c38: DUP1 00004c39: REVERT 00004c3a: JUMPDEST 00004c3b: DUP2 00004c3c: CALLDATALOAD 00004c3d: PUSH2 0x0df6 00004c40: DUP2 00004c41: PUSH2 0x4c1a 00004c44: JUMP 00004c45: JUMPDEST 00004c46: PUSH1 0x00 00004c48: DUP1 00004c49: PUSH1 0x40 00004c4b: DUP4 00004c4c: DUP6 00004c4d: SUB 00004c4e: SLT 00004c4f: ISZERO 00004c50: PUSH2 0x4c58 00004c53: JUMPI 00004c54: PUSH1 0x00 00004c56: DUP1 00004c57: REVERT 00004c58: JUMPDEST 00004c59: DUP3 00004c5a: CALLDATALOAD 00004c5b: PUSH1 0x01 00004c5d: PUSH1 0x01 00004c5f: PUSH1 0x40 00004c61: SHL 00004c62: SUB 00004c63: DUP1 00004c64: DUP3 00004c65: GT 00004c66: ISZERO 00004c67: PUSH2 0x4c6f 00004c6a: JUMPI 00004c6b: PUSH1 0x00 00004c6d: DUP1 00004c6e: REVERT 00004c6f: JUMPDEST 00004c70: PUSH2 0x4c7b 00004c73: DUP7 00004c74: DUP4 00004c75: DUP8 00004c76: ADD 00004c77: PUSH2 0x494d 00004c7a: JUMP 00004c7b: JUMPDEST 00004c7c: SWAP4 00004c7d: POP 00004c7e: PUSH1 0x20 00004c80: DUP6 00004c81: ADD 00004c82: CALLDATALOAD 00004c83: SWAP2 00004c84: POP 00004c85: DUP1 00004c86: DUP3 00004c87: GT 00004c88: ISZERO 00004c89: PUSH2 0x4c91 00004c8c: JUMPI 00004c8d: PUSH1 0x00 00004c8f: DUP1 00004c90: REVERT 00004c91: JUMPDEST 00004c92: POP 00004c93: PUSH2 0x4c9e 00004c96: DUP6 00004c97: DUP3 00004c98: DUP7 00004c99: ADD 00004c9a: PUSH2 0x494d 00004c9d: JUMP 00004c9e: JUMPDEST 00004c9f: SWAP2 00004ca0: POP 00004ca1: POP 00004ca2: SWAP3 00004ca3: POP 00004ca4: SWAP3 00004ca5: SWAP1 00004ca6: POP 00004ca7: JUMP 00004ca8: JUMPDEST 00004ca9: PUSH1 0x00 00004cab: DUP1 00004cac: PUSH1 0x00 00004cae: PUSH1 0x60 00004cb0: DUP5 00004cb1: DUP7 00004cb2: SUB 00004cb3: SLT 00004cb4: ISZERO 00004cb5: PUSH2 0x4cbd 00004cb8: JUMPI 00004cb9: PUSH1 0x00 00004cbb: DUP1 00004cbc: REVERT 00004cbd: JUMPDEST 00004cbe: DUP4 00004cbf: CALLDATALOAD 00004cc0: SWAP3 00004cc1: POP 00004cc2: PUSH1 0x20 00004cc4: DUP5 00004cc5: ADD 00004cc6: CALLDATALOAD 00004cc7: PUSH2 0x4ccf 00004cca: DUP2 00004ccb: PUSH2 0x4756 00004cce: JUMP 00004ccf: JUMPDEST 00004cd0: SWAP2 00004cd1: POP 00004cd2: PUSH1 0x40 00004cd4: DUP5 00004cd5: ADD 00004cd6: CALLDATALOAD 00004cd7: PUSH2 0x4cdf 00004cda: DUP2 00004cdb: PUSH2 0x4756 00004cde: JUMP 00004cdf: JUMPDEST 00004ce0: DUP1 00004ce1: SWAP2 00004ce2: POP 00004ce3: POP 00004ce4: SWAP3 00004ce5: POP 00004ce6: SWAP3 00004ce7: POP 00004ce8: SWAP3 00004ce9: JUMP 00004cea: JUMPDEST 00004ceb: PUSH1 0x00 00004ced: DUP1 00004cee: PUSH1 0x00 00004cf0: DUP1 00004cf1: PUSH1 0x00 00004cf3: DUP1 00004cf4: PUSH1 0x60 00004cf6: DUP8 00004cf7: DUP10 00004cf8: SUB 00004cf9: SLT 00004cfa: ISZERO 00004cfb: PUSH2 0x4d03 00004cfe: JUMPI 00004cff: PUSH1 0x00 00004d01: DUP1 00004d02: REVERT 00004d03: JUMPDEST 00004d04: DUP7 00004d05: CALLDATALOAD 00004d06: PUSH1 0x01 00004d08: PUSH1 0x01 00004d0a: PUSH1 0x40 00004d0c: SHL 00004d0d: SUB 00004d0e: DUP1 00004d0f: DUP3 00004d10: GT 00004d11: ISZERO 00004d12: PUSH2 0x4d1a 00004d15: JUMPI 00004d16: PUSH1 0x00 00004d18: DUP1 00004d19: REVERT 00004d1a: JUMPDEST 00004d1b: PUSH2 0x4d26 00004d1e: DUP11 00004d1f: DUP4 00004d20: DUP12 00004d21: ADD 00004d22: PUSH2 0x4b5e 00004d25: JUMP 00004d26: JUMPDEST 00004d27: SWAP1 00004d28: SWAP9 00004d29: POP 00004d2a: SWAP7 00004d2b: POP 00004d2c: PUSH1 0x20 00004d2e: DUP10 00004d2f: ADD 00004d30: CALLDATALOAD 00004d31: SWAP2 00004d32: POP 00004d33: DUP1 00004d34: DUP3 00004d35: GT 00004d36: ISZERO 00004d37: PUSH2 0x4d3f 00004d3a: JUMPI 00004d3b: PUSH1 0x00 00004d3d: DUP1 00004d3e: REVERT 00004d3f: JUMPDEST 00004d40: PUSH2 0x4d4b 00004d43: DUP11 00004d44: DUP4 00004d45: DUP12 00004d46: ADD 00004d47: PUSH2 0x4b5e 00004d4a: JUMP 00004d4b: JUMPDEST 00004d4c: SWAP1 00004d4d: SWAP7 00004d4e: POP 00004d4f: SWAP5 00004d50: POP 00004d51: PUSH1 0x40 00004d53: DUP10 00004d54: ADD 00004d55: CALLDATALOAD 00004d56: SWAP2 00004d57: POP 00004d58: DUP1 00004d59: DUP3 00004d5a: GT 00004d5b: ISZERO 00004d5c: PUSH2 0x4d64 00004d5f: JUMPI 00004d60: PUSH1 0x00 00004d62: DUP1 00004d63: REVERT 00004d64: JUMPDEST 00004d65: POP 00004d66: PUSH2 0x4d71 00004d69: DUP10 00004d6a: DUP3 00004d6b: DUP11 00004d6c: ADD 00004d6d: PUSH2 0x4b5e 00004d70: JUMP 00004d71: JUMPDEST 00004d72: SWAP8 00004d73: SWAP11 00004d74: SWAP7 00004d75: SWAP10 00004d76: POP 00004d77: SWAP5 00004d78: SWAP8 00004d79: POP 00004d7a: SWAP3 00004d7b: SWAP6 00004d7c: SWAP4 00004d7d: SWAP5 00004d7e: SWAP3 00004d7f: POP 00004d80: POP 00004d81: POP 00004d82: JUMP 00004d83: JUMPDEST 00004d84: PUSH1 0x00 00004d86: DUP1 00004d87: PUSH1 0x00 00004d89: DUP1 00004d8a: PUSH1 0x00 00004d8c: DUP1 00004d8d: PUSH1 0x00 00004d8f: PUSH1 0xe0 00004d91: DUP9 00004d92: DUP11 00004d93: SUB 00004d94: SLT 00004d95: ISZERO 00004d96: PUSH2 0x4d9e 00004d99: JUMPI 00004d9a: PUSH1 0x00 00004d9c: DUP1 00004d9d: REVERT 00004d9e: JUMPDEST 00004d9f: DUP8 00004da0: CALLDATALOAD 00004da1: PUSH2 0x4da9 00004da4: DUP2 00004da5: PUSH2 0x4756 00004da8: JUMP 00004da9: JUMPDEST 00004daa: SWAP7 00004dab: POP 00004dac: PUSH1 0x20 00004dae: DUP9 00004daf: ADD 00004db0: CALLDATALOAD 00004db1: PUSH2 0x4db9 00004db4: DUP2 00004db5: PUSH2 0x4756 00004db8: JUMP 00004db9: JUMPDEST 00004dba: SWAP6 00004dbb: POP 00004dbc: PUSH1 0x40 00004dbe: DUP9 00004dbf: ADD 00004dc0: CALLDATALOAD 00004dc1: SWAP5 00004dc2: POP 00004dc3: PUSH1 0x60 00004dc5: DUP9 00004dc6: ADD 00004dc7: CALLDATALOAD 00004dc8: SWAP4 00004dc9: POP 00004dca: PUSH1 0x80 00004dcc: DUP9 00004dcd: ADD 00004dce: CALLDATALOAD 00004dcf: PUSH1 0xff 00004dd1: DUP2 00004dd2: AND 00004dd3: DUP2 00004dd4: EQ 00004dd5: PUSH2 0x4ddd 00004dd8: JUMPI 00004dd9: PUSH1 0x00 00004ddb: DUP1 00004ddc: REVERT 00004ddd: JUMPDEST 00004dde: SWAP7 00004ddf: SWAP10 00004de0: SWAP6 00004de1: SWAP9 00004de2: POP 00004de3: SWAP4 00004de4: SWAP7 00004de5: SWAP3 00004de6: SWAP6 00004de7: SWAP5 00004de8: PUSH1 0xa0 00004dea: DUP5 00004deb: ADD 00004dec: CALLDATALOAD 00004ded: SWAP5 00004dee: POP 00004def: PUSH1 0xc0 00004df1: SWAP1 00004df2: SWAP4 00004df3: ADD 00004df4: CALLDATALOAD 00004df5: SWAP3 00004df6: SWAP2 00004df7: POP 00004df8: POP 00004df9: JUMP 00004dfa: JUMPDEST 00004dfb: PUSH1 0x00 00004dfd: PUSH1 0x20 00004dff: DUP3 00004e00: DUP5 00004e01: SUB 00004e02: SLT 00004e03: ISZERO 00004e04: PUSH2 0x4e0c 00004e07: JUMPI 00004e08: PUSH1 0x00 00004e0a: DUP1 00004e0b: REVERT 00004e0c: JUMPDEST 00004e0d: DUP2 00004e0e: CALLDATALOAD 00004e0f: PUSH6 0xffffffffffff 00004e16: DUP2 00004e17: AND 00004e18: DUP2 00004e19: EQ 00004e1a: PUSH2 0x0df6 00004e1d: JUMPI 00004e1e: PUSH1 0x00 00004e20: DUP1 00004e21: REVERT 00004e22: JUMPDEST 00004e23: PUSH1 0x00 00004e25: DUP1 00004e26: DUP4 00004e27: PUSH1 0x1f 00004e29: DUP5 00004e2a: ADD 00004e2b: SLT 00004e2c: PUSH2 0x4e34 00004e2f: JUMPI 00004e30: PUSH1 0x00 00004e32: DUP1 00004e33: REVERT 00004e34: JUMPDEST 00004e35: POP 00004e36: DUP2 00004e37: CALLDATALOAD 00004e38: PUSH1 0x01 00004e3a: PUSH1 0x01 00004e3c: PUSH1 0x40 00004e3e: SHL 00004e3f: SUB 00004e40: DUP2 00004e41: GT 00004e42: ISZERO 00004e43: PUSH2 0x4e4b 00004e46: JUMPI 00004e47: PUSH1 0x00 00004e49: DUP1 00004e4a: REVERT 00004e4b: JUMPDEST 00004e4c: PUSH1 0x20 00004e4e: DUP4 00004e4f: ADD 00004e50: SWAP2 00004e51: POP 00004e52: DUP4 00004e53: PUSH1 0x20 00004e55: DUP3 00004e56: DUP6 00004e57: ADD 00004e58: ADD 00004e59: GT 00004e5a: ISZERO 00004e5b: PUSH2 0x4ba2 00004e5e: JUMPI 00004e5f: PUSH1 0x00 00004e61: DUP1 00004e62: REVERT 00004e63: JUMPDEST 00004e64: PUSH1 0x00 00004e66: DUP1 00004e67: PUSH1 0x00 00004e69: DUP1 00004e6a: DUP5 00004e6b: DUP7 00004e6c: SUB 00004e6d: PUSH2 0x0100 00004e70: DUP2 00004e71: SLT 00004e72: ISZERO 00004e73: PUSH2 0x4e7b 00004e76: JUMPI 00004e77: PUSH1 0x00 00004e79: DUP1 00004e7a: REVERT 00004e7b: JUMPDEST 00004e7c: DUP6 00004e7d: CALLDATALOAD 00004e7e: PUSH2 0x4e86 00004e81: DUP2 00004e82: PUSH2 0x4756 00004e85: JUMP 00004e86: JUMPDEST 00004e87: SWAP5 00004e88: POP 00004e89: PUSH1 0xc0 00004e8b: PUSH1 0x1f 00004e8d: NOT 00004e8e: DUP3 00004e8f: ADD 00004e90: SLT 00004e91: ISZERO 00004e92: PUSH2 0x4e9a 00004e95: JUMPI 00004e96: PUSH1 0x00 00004e98: DUP1 00004e99: REVERT 00004e9a: JUMPDEST 00004e9b: POP 00004e9c: PUSH2 0x4ea3 00004e9f: PUSH2 0x4858 00004ea2: JUMP 00004ea3: JUMPDEST 00004ea4: PUSH1 0x20 00004ea6: DUP7 00004ea7: ADD 00004ea8: CALLDATALOAD 00004ea9: PUSH2 0x4eb1 00004eac: DUP2 00004ead: PUSH2 0x4756 00004eb0: JUMP 00004eb1: JUMPDEST 00004eb2: DUP2 00004eb3: MSTORE 00004eb4: PUSH1 0x40 00004eb6: DUP7 00004eb7: ADD 00004eb8: CALLDATALOAD 00004eb9: PUSH2 0x4ec1 00004ebc: DUP2 00004ebd: PUSH2 0x4756 00004ec0: JUMP 00004ec1: JUMPDEST 00004ec2: PUSH1 0x20 00004ec4: DUP3 00004ec5: ADD 00004ec6: MSTORE 00004ec7: PUSH1 0x60 00004ec9: DUP7 00004eca: ADD 00004ecb: CALLDATALOAD 00004ecc: PUSH1 0x40 00004ece: DUP3 00004ecf: ADD 00004ed0: MSTORE 00004ed1: PUSH1 0x80 00004ed3: DUP7 00004ed4: ADD 00004ed5: CALLDATALOAD 00004ed6: PUSH2 0x4ede 00004ed9: DUP2 00004eda: PUSH2 0x4756 00004edd: JUMP 00004ede: JUMPDEST 00004edf: PUSH1 0x60 00004ee1: DUP3 00004ee2: ADD 00004ee3: MSTORE 00004ee4: PUSH1 0xa0 00004ee6: DUP7 00004ee7: ADD 00004ee8: CALLDATALOAD 00004ee9: PUSH2 0x4ef1 00004eec: DUP2 00004eed: PUSH2 0x4756 00004ef0: JUMP 00004ef1: JUMPDEST 00004ef2: PUSH1 0x80 00004ef4: DUP3 00004ef5: ADD 00004ef6: MSTORE 00004ef7: PUSH1 0xc0 00004ef9: DUP7 00004efa: ADD 00004efb: CALLDATALOAD 00004efc: PUSH1 0xa0 00004efe: DUP3 00004eff: ADD 00004f00: MSTORE 00004f01: SWAP3 00004f02: POP 00004f03: PUSH1 0xe0 00004f05: DUP6 00004f06: ADD 00004f07: CALLDATALOAD 00004f08: PUSH1 0x01 00004f0a: PUSH1 0x01 00004f0c: PUSH1 0x40 00004f0e: SHL 00004f0f: SUB 00004f10: DUP2 00004f11: GT 00004f12: ISZERO 00004f13: PUSH2 0x4f1b 00004f16: JUMPI 00004f17: PUSH1 0x00 00004f19: DUP1 00004f1a: REVERT 00004f1b: JUMPDEST 00004f1c: PUSH2 0x4f27 00004f1f: DUP8 00004f20: DUP3 00004f21: DUP9 00004f22: ADD 00004f23: PUSH2 0x4e22 00004f26: JUMP 00004f27: JUMPDEST 00004f28: SWAP6 00004f29: SWAP9 00004f2a: SWAP5 00004f2b: SWAP8 00004f2c: POP 00004f2d: SWAP6 00004f2e: POP 00004f2f: POP 00004f30: POP 00004f31: POP 00004f32: JUMP 00004f33: JUMPDEST 00004f34: PUSH1 0x00 00004f36: DUP1 00004f37: PUSH1 0x40 00004f39: DUP4 00004f3a: DUP6 00004f3b: SUB 00004f3c: SLT 00004f3d: ISZERO 00004f3e: PUSH2 0x4f46 00004f41: JUMPI 00004f42: PUSH1 0x00 00004f44: DUP1 00004f45: REVERT 00004f46: JUMPDEST 00004f47: DUP3 00004f48: CALLDATALOAD 00004f49: PUSH2 0x4f51 00004f4c: DUP2 00004f4d: PUSH2 0x4756 00004f50: JUMP 00004f51: JUMPDEST 00004f52: SWAP2 00004f53: POP 00004f54: PUSH1 0x20 00004f56: DUP4 00004f57: ADD 00004f58: CALLDATALOAD 00004f59: PUSH2 0x4c0f 00004f5c: DUP2 00004f5d: PUSH2 0x4756 00004f60: JUMP 00004f61: JUMPDEST 00004f62: DUP3 00004f63: DUP2 00004f64: MSTORE 00004f65: PUSH1 0x40 00004f67: DUP2 00004f68: ADD 00004f69: PUSH2 0x4f71 00004f6c: DUP4 00004f6d: PUSH2 0x4aec 00004f70: JUMP 00004f71: JUMPDEST 00004f72: DUP3 00004f73: PUSH1 0x20 00004f75: DUP4 00004f76: ADD 00004f77: MSTORE 00004f78: SWAP4 00004f79: SWAP3 00004f7a: POP 00004f7b: POP 00004f7c: POP 00004f7d: JUMP 00004f7e: JUMPDEST 00004f7f: PUSH1 0x00 00004f81: PUSH1 0x20 00004f83: DUP3 00004f84: DUP5 00004f85: SUB 00004f86: SLT 00004f87: ISZERO 00004f88: PUSH2 0x4f90 00004f8b: JUMPI 00004f8c: PUSH1 0x00 00004f8e: DUP1 00004f8f: REVERT 00004f90: JUMPDEST 00004f91: POP 00004f92: MLOAD 00004f93: SWAP2 00004f94: SWAP1 00004f95: POP 00004f96: JUMP 00004f97: JUMPDEST 00004f98: PUSH1 0x01 00004f9a: DUP2 00004f9b: DUP2 00004f9c: SHR 00004f9d: SWAP1 00004f9e: DUP3 00004f9f: AND 00004fa0: DUP1 00004fa1: PUSH2 0x4fab 00004fa4: JUMPI 00004fa5: PUSH1 0x7f 00004fa7: DUP3 00004fa8: AND 00004fa9: SWAP2 00004faa: POP 00004fab: JUMPDEST 00004fac: PUSH1 0x20 00004fae: DUP3 00004faf: LT 00004fb0: DUP2 00004fb1: SUB 00004fb2: PUSH2 0x2bd2 00004fb5: JUMPI 00004fb6: PUSH4 0x4e487b71 00004fbb: PUSH1 0xe0 00004fbd: SHL 00004fbe: PUSH1 0x00 00004fc0: MSTORE 00004fc1: PUSH1 0x22 00004fc3: PUSH1 0x04 00004fc5: MSTORE 00004fc6: PUSH1 0x24 00004fc8: PUSH1 0x00 00004fca: REVERT 00004fcb: JUMPDEST 00004fcc: DUP1 00004fcd: MLOAD 00004fce: PUSH2 0x4fd6 00004fd1: DUP2 00004fd2: PUSH2 0x4c1a 00004fd5: JUMP 00004fd6: JUMPDEST 00004fd7: SWAP2 00004fd8: SWAP1 00004fd9: POP 00004fda: JUMP 00004fdb: JUMPDEST 00004fdc: PUSH1 0x00 00004fde: PUSH1 0x20 00004fe0: DUP3 00004fe1: DUP5 00004fe2: SUB 00004fe3: SLT 00004fe4: ISZERO 00004fe5: PUSH2 0x4fed 00004fe8: JUMPI 00004fe9: PUSH1 0x00 00004feb: DUP1 00004fec: REVERT 00004fed: JUMPDEST 00004fee: DUP2 00004fef: MLOAD 00004ff0: PUSH2 0x0df6 00004ff3: DUP2 00004ff4: PUSH2 0x4c1a 00004ff7: JUMP 00004ff8: JUMPDEST 00004ff9: DUP8 00004ffa: ISZERO 00004ffb: ISZERO 00004ffc: DUP2 00004ffd: MSTORE 00004ffe: DUP7 00004fff: PUSH1 0x20 00005001: DUP3 00005002: ADD 00005003: MSTORE 00005004: DUP6 00005005: PUSH1 0x40 00005007: DUP3 00005008: ADD 00005009: MSTORE 0000500a: PUSH1 0xe0 0000500c: PUSH1 0x60 0000500e: DUP3 0000500f: ADD 00005010: MSTORE 00005011: PUSH1 0x00 00005013: PUSH2 0x501f 00005016: PUSH1 0xe0 00005018: DUP4 00005019: ADD 0000501a: DUP8 0000501b: PUSH2 0x46e4 0000501e: JUMP 0000501f: JUMPDEST 00005020: PUSH1 0x80 00005022: DUP4 00005023: ADD 00005024: SWAP6 00005025: SWAP1 00005026: SWAP6 00005027: MSTORE 00005028: POP 00005029: PUSH1 0xa0 0000502b: DUP2 0000502c: ADD 0000502d: SWAP3 0000502e: SWAP1 0000502f: SWAP3 00005030: MSTORE 00005031: PUSH1 0xc0 00005033: SWAP1 00005034: SWAP2 00005035: ADD 00005036: MSTORE 00005037: SWAP5 00005038: SWAP4 00005039: POP 0000503a: POP 0000503b: POP 0000503c: POP 0000503d: JUMP 0000503e: JUMPDEST 0000503f: PUSH1 0x00 00005041: DUP1 00005042: PUSH1 0x40 00005044: DUP4 00005045: DUP6 00005046: SUB 00005047: SLT 00005048: ISZERO 00005049: PUSH2 0x5051 0000504c: JUMPI 0000504d: PUSH1 0x00 0000504f: DUP1 00005050: REVERT 00005051: JUMPDEST 00005052: POP 00005053: POP 00005054: DUP1 00005055: MLOAD 00005056: PUSH1 0x20 00005058: SWAP1 00005059: SWAP2 0000505a: ADD 0000505b: MLOAD 0000505c: SWAP1 0000505d: SWAP3 0000505e: SWAP1 0000505f: SWAP2 00005060: POP 00005061: JUMP 00005062: JUMPDEST 00005063: DUP1 00005064: MLOAD 00005065: PUSH2 0x4fd6 00005068: DUP2 00005069: PUSH2 0x4756 0000506c: JUMP 0000506d: JUMPDEST 0000506e: PUSH1 0x00 00005070: PUSH1 0x20 00005072: DUP1 00005073: DUP4 00005074: DUP6 00005075: SUB 00005076: SLT 00005077: ISZERO 00005078: PUSH2 0x5080 0000507b: JUMPI 0000507c: PUSH1 0x00 0000507e: DUP1 0000507f: REVERT 00005080: JUMPDEST 00005081: DUP3 00005082: MLOAD 00005083: PUSH1 0x01 00005085: PUSH1 0x01 00005087: PUSH1 0x40 00005089: SHL 0000508a: SUB 0000508b: DUP1 0000508c: DUP3 0000508d: GT 0000508e: ISZERO 0000508f: PUSH2 0x5097 00005092: JUMPI 00005093: PUSH1 0x00 00005095: DUP1 00005096: REVERT 00005097: JUMPDEST 00005098: DUP2 00005099: DUP6 0000509a: ADD 0000509b: SWAP2 0000509c: POP 0000509d: DUP6 0000509e: PUSH1 0x1f 000050a0: DUP4 000050a1: ADD 000050a2: SLT 000050a3: PUSH2 0x50ab 000050a6: JUMPI 000050a7: PUSH1 0x00 000050a9: DUP1 000050aa: REVERT 000050ab: JUMPDEST 000050ac: DUP2 000050ad: MLOAD 000050ae: DUP2 000050af: DUP2 000050b0: GT 000050b1: ISZERO 000050b2: PUSH2 0x50bd 000050b5: JUMPI 000050b6: PUSH2 0x50bd 000050b9: PUSH2 0x4842 000050bc: JUMP 000050bd: JUMPDEST 000050be: DUP1 000050bf: PUSH1 0x05 000050c1: SHL 000050c2: SWAP2 000050c3: POP 000050c4: PUSH2 0x50ce 000050c7: DUP5 000050c8: DUP4 000050c9: ADD 000050ca: PUSH2 0x48c6 000050cd: JUMP 000050ce: JUMPDEST 000050cf: DUP2 000050d0: DUP2 000050d1: MSTORE 000050d2: SWAP2 000050d3: DUP4 000050d4: ADD 000050d5: DUP5 000050d6: ADD 000050d7: SWAP2 000050d8: DUP5 000050d9: DUP2 000050da: ADD 000050db: SWAP1 000050dc: DUP9 000050dd: DUP5 000050de: GT 000050df: ISZERO 000050e0: PUSH2 0x50e8 000050e3: JUMPI 000050e4: PUSH1 0x00 000050e6: DUP1 000050e7: REVERT 000050e8: JUMPDEST 000050e9: SWAP4 000050ea: DUP6 000050eb: ADD 000050ec: SWAP4 000050ed: JUMPDEST 000050ee: DUP4 000050ef: DUP6 000050f0: LT 000050f1: ISZERO 000050f2: PUSH2 0x5112 000050f5: JUMPI 000050f6: DUP5 000050f7: MLOAD 000050f8: SWAP3 000050f9: POP 000050fa: PUSH2 0x5102 000050fd: DUP4 000050fe: PUSH2 0x4756 00005101: JUMP 00005102: JUMPDEST 00005103: DUP3 00005104: DUP3 00005105: MSTORE 00005106: SWAP4 00005107: DUP6 00005108: ADD 00005109: SWAP4 0000510a: SWAP1 0000510b: DUP6 0000510c: ADD 0000510d: SWAP1 0000510e: PUSH2 0x50ed 00005111: JUMP 00005112: JUMPDEST 00005113: SWAP9 00005114: SWAP8 00005115: POP 00005116: POP 00005117: POP 00005118: POP 00005119: POP 0000511a: POP 0000511b: POP 0000511c: POP 0000511d: JUMP 0000511e: JUMPDEST 0000511f: PUSH1 0x1f 00005121: DUP3 00005122: GT 00005123: ISZERO 00005124: PUSH2 0x5164 00005127: JUMPI 00005128: PUSH1 0x00 0000512a: DUP2 0000512b: DUP2 0000512c: MSTORE 0000512d: PUSH1 0x20 0000512f: DUP2 00005130: KECCAK256 00005131: PUSH1 0x1f 00005133: DUP6 00005134: ADD 00005135: PUSH1 0x05 00005137: SHR 00005138: DUP2 00005139: ADD 0000513a: PUSH1 0x20 0000513c: DUP7 0000513d: LT 0000513e: ISZERO 0000513f: PUSH2 0x5145 00005142: JUMPI 00005143: POP 00005144: DUP1 00005145: JUMPDEST 00005146: PUSH1 0x1f 00005148: DUP6 00005149: ADD 0000514a: PUSH1 0x05 0000514c: SHR 0000514d: DUP3 0000514e: ADD 0000514f: SWAP2 00005150: POP 00005151: JUMPDEST 00005152: DUP2 00005153: DUP2 00005154: LT 00005155: ISZERO 00005156: PUSH2 0x22cb 00005159: JUMPI 0000515a: DUP3 0000515b: DUP2 0000515c: SSTORE 0000515d: PUSH1 0x01 0000515f: ADD 00005160: PUSH2 0x5151 00005163: JUMP 00005164: JUMPDEST 00005165: POP 00005166: POP 00005167: POP 00005168: JUMP 00005169: JUMPDEST 0000516a: DUP2 0000516b: MLOAD 0000516c: PUSH1 0x01 0000516e: PUSH1 0x01 00005170: PUSH1 0x40 00005172: SHL 00005173: SUB 00005174: DUP2 00005175: GT 00005176: ISZERO 00005177: PUSH2 0x5182 0000517a: JUMPI 0000517b: PUSH2 0x5182 0000517e: PUSH2 0x4842 00005181: JUMP 00005182: JUMPDEST 00005183: PUSH2 0x5196 00005186: DUP2 00005187: PUSH2 0x5190 0000518a: DUP5 0000518b: SLOAD 0000518c: PUSH2 0x4f97 0000518f: JUMP 00005190: JUMPDEST 00005191: DUP5 00005192: PUSH2 0x511e 00005195: JUMP 00005196: JUMPDEST 00005197: PUSH1 0x20 00005199: DUP1 0000519a: PUSH1 0x1f 0000519c: DUP4 0000519d: GT 0000519e: PUSH1 0x01 000051a0: DUP2 000051a1: EQ 000051a2: PUSH2 0x51cb 000051a5: JUMPI 000051a6: PUSH1 0x00 000051a8: DUP5 000051a9: ISZERO 000051aa: PUSH2 0x51b3 000051ad: JUMPI 000051ae: POP 000051af: DUP6 000051b0: DUP4 000051b1: ADD 000051b2: MLOAD 000051b3: JUMPDEST 000051b4: PUSH1 0x00 000051b6: NOT 000051b7: PUSH1 0x03 000051b9: DUP7 000051ba: SWAP1 000051bb: SHL 000051bc: SHR 000051bd: NOT 000051be: AND 000051bf: PUSH1 0x01 000051c1: DUP6 000051c2: SWAP1 000051c3: SHL 000051c4: OR 000051c5: DUP6 000051c6: SSTORE 000051c7: PUSH2 0x22cb 000051ca: JUMP 000051cb: JUMPDEST 000051cc: PUSH1 0x00 000051ce: DUP6 000051cf: DUP2 000051d0: MSTORE 000051d1: PUSH1 0x20 000051d3: DUP2 000051d4: KECCAK256 000051d5: PUSH1 0x1f 000051d7: NOT 000051d8: DUP7 000051d9: AND 000051da: SWAP2 000051db: JUMPDEST 000051dc: DUP3 000051dd: DUP2 000051de: LT 000051df: ISZERO 000051e0: PUSH2 0x51fa 000051e3: JUMPI 000051e4: DUP9 000051e5: DUP7 000051e6: ADD 000051e7: MLOAD 000051e8: DUP3 000051e9: SSTORE 000051ea: SWAP5 000051eb: DUP5 000051ec: ADD 000051ed: SWAP5 000051ee: PUSH1 0x01 000051f0: SWAP1 000051f1: SWAP2 000051f2: ADD 000051f3: SWAP1 000051f4: DUP5 000051f5: ADD 000051f6: PUSH2 0x51db 000051f9: JUMP 000051fa: JUMPDEST 000051fb: POP 000051fc: DUP6 000051fd: DUP3 000051fe: LT 000051ff: ISZERO 00005200: PUSH2 0x5218 00005203: JUMPI 00005204: DUP8 00005205: DUP6 00005206: ADD 00005207: MLOAD 00005208: PUSH1 0x00 0000520a: NOT 0000520b: PUSH1 0x03 0000520d: DUP9 0000520e: SWAP1 0000520f: SHL 00005210: PUSH1 0xf8 00005212: AND 00005213: SHR 00005214: NOT 00005215: AND 00005216: DUP2 00005217: SSTORE 00005218: JUMPDEST 00005219: POP 0000521a: POP 0000521b: POP 0000521c: POP 0000521d: POP 0000521e: PUSH1 0x01 00005220: SWAP1 00005221: DUP2 00005222: SHL 00005223: ADD 00005224: SWAP1 00005225: SSTORE 00005226: POP 00005227: JUMP 00005228: JUMPDEST 00005229: SWAP2 0000522a: DUP3 0000522b: MSTORE 0000522c: PUSH1 0x01 0000522e: PUSH1 0x01 00005230: PUSH1 0xa0 00005232: SHL 00005233: SUB 00005234: AND 00005235: PUSH1 0x20 00005237: DUP3 00005238: ADD 00005239: MSTORE 0000523a: PUSH1 0x40 0000523c: ADD 0000523d: SWAP1 0000523e: JUMP 0000523f: JUMPDEST 00005240: PUSH1 0x00 00005242: PUSH1 0x20 00005244: DUP3 00005245: DUP5 00005246: SUB 00005247: SLT 00005248: ISZERO 00005249: PUSH2 0x5251 0000524c: JUMPI 0000524d: PUSH1 0x00 0000524f: DUP1 00005250: REVERT 00005251: JUMPDEST 00005252: DUP2 00005253: MLOAD 00005254: PUSH2 0x0df6 00005257: DUP2 00005258: PUSH2 0x4756 0000525b: JUMP 0000525c: JUMPDEST 0000525d: PUSH1 0x00 0000525f: PUSH2 0x0120 00005262: DUP3 00005263: DUP5 00005264: SUB 00005265: SLT 00005266: ISZERO 00005267: PUSH2 0x526f 0000526a: JUMPI 0000526b: PUSH1 0x00 0000526d: DUP1 0000526e: REVERT 0000526f: JUMPDEST 00005270: PUSH2 0x5277 00005273: PUSH2 0x4880 00005276: JUMP 00005277: JUMPDEST 00005278: PUSH2 0x5280 0000527b: DUP4 0000527c: PUSH2 0x4fcb 0000527f: JUMP 00005280: JUMPDEST 00005281: DUP2 00005282: MSTORE 00005283: PUSH1 0x20 00005285: DUP4 00005286: ADD 00005287: MLOAD 00005288: PUSH1 0x20 0000528a: DUP3 0000528b: ADD 0000528c: MSTORE 0000528d: PUSH1 0x40 0000528f: DUP4 00005290: ADD 00005291: MLOAD 00005292: PUSH1 0x40 00005294: DUP3 00005295: ADD 00005296: MSTORE 00005297: PUSH1 0x60 00005299: DUP4 0000529a: ADD 0000529b: MLOAD 0000529c: PUSH1 0x60 0000529e: DUP3 0000529f: ADD 000052a0: MSTORE 000052a1: PUSH1 0x80 000052a3: DUP4 000052a4: ADD 000052a5: MLOAD 000052a6: PUSH1 0x80 000052a8: DUP3 000052a9: ADD 000052aa: MSTORE 000052ab: PUSH1 0xa0 000052ad: DUP4 000052ae: ADD 000052af: MLOAD 000052b0: PUSH1 0xa0 000052b2: DUP3 000052b3: ADD 000052b4: MSTORE 000052b5: PUSH1 0xc0 000052b7: DUP4 000052b8: ADD 000052b9: MLOAD 000052ba: PUSH1 0xc0 000052bc: DUP3 000052bd: ADD 000052be: MSTORE 000052bf: PUSH1 0xe0 000052c1: DUP4 000052c2: ADD 000052c3: MLOAD 000052c4: PUSH1 0xe0 000052c6: DUP3 000052c7: ADD 000052c8: MSTORE 000052c9: PUSH2 0x0100 000052cc: DUP1 000052cd: DUP5 000052ce: ADD 000052cf: MLOAD 000052d0: DUP2 000052d1: DUP4 000052d2: ADD 000052d3: MSTORE 000052d4: POP 000052d5: DUP1 000052d6: SWAP2 000052d7: POP 000052d8: POP 000052d9: SWAP3 000052da: SWAP2 000052db: POP 000052dc: POP 000052dd: JUMP 000052de: JUMPDEST 000052df: PUSH4 0x4e487b71 000052e4: PUSH1 0xe0 000052e6: SHL 000052e7: PUSH1 0x00 000052e9: MSTORE 000052ea: PUSH1 0x11 000052ec: PUSH1 0x04 000052ee: MSTORE 000052ef: PUSH1 0x24 000052f1: PUSH1 0x00 000052f3: REVERT 000052f4: JUMPDEST 000052f5: DUP1 000052f6: DUP3 000052f7: ADD 000052f8: DUP1 000052f9: DUP3 000052fa: GT 000052fb: ISZERO 000052fc: PUSH2 0x0d62 000052ff: JUMPI 00005300: PUSH2 0x0d62 00005303: PUSH2 0x52de 00005306: JUMP 00005307: JUMPDEST 00005308: DUP2 00005309: DUP2 0000530a: SUB 0000530b: DUP2 0000530c: DUP2 0000530d: GT 0000530e: ISZERO 0000530f: PUSH2 0x0d62 00005312: JUMPI 00005313: PUSH2 0x0d62 00005316: PUSH2 0x52de 00005319: JUMP 0000531a: JUMPDEST 0000531b: DUP2 0000531c: DUP4 0000531d: MSTORE 0000531e: PUSH1 0x00 00005320: PUSH1 0x20 00005322: DUP1 00005323: DUP6 00005324: ADD 00005325: SWAP5 00005326: POP 00005327: DUP3 00005328: PUSH1 0x00 0000532a: JUMPDEST 0000532b: DUP6 0000532c: DUP2 0000532d: LT 0000532e: ISZERO 0000532f: PUSH2 0x5358 00005332: JUMPI 00005333: DUP2 00005334: CALLDATALOAD 00005335: PUSH2 0x533d 00005338: DUP2 00005339: PUSH2 0x4756 0000533c: JUMP 0000533d: JUMPDEST 0000533e: PUSH1 0x01 00005340: PUSH1 0x01 00005342: PUSH1 0xa0 00005344: SHL 00005345: SUB 00005346: AND 00005347: DUP8 00005348: MSTORE 00005349: SWAP6 0000534a: DUP3 0000534b: ADD 0000534c: SWAP6 0000534d: SWAP1 0000534e: DUP3 0000534f: ADD 00005350: SWAP1 00005351: PUSH1 0x01 00005353: ADD 00005354: PUSH2 0x532a 00005357: JUMP 00005358: JUMPDEST 00005359: POP 0000535a: SWAP5 0000535b: SWAP6 0000535c: SWAP5 0000535d: POP 0000535e: POP 0000535f: POP 00005360: POP 00005361: POP 00005362: JUMP 00005363: JUMPDEST 00005364: DUP6 00005365: DUP2 00005366: MSTORE 00005367: DUP5 00005368: PUSH1 0x20 0000536a: DUP3 0000536b: ADD 0000536c: MSTORE 0000536d: PUSH1 0x80 0000536f: PUSH1 0x40 00005371: DUP3 00005372: ADD 00005373: MSTORE 00005374: PUSH1 0x00 00005376: PUSH2 0x5383 00005379: PUSH1 0x80 0000537b: DUP4 0000537c: ADD 0000537d: DUP6 0000537e: DUP8 0000537f: PUSH2 0x531a 00005382: JUMP 00005383: JUMPDEST 00005384: SWAP1 00005385: POP 00005386: PUSH1 0x01 00005388: DUP1 00005389: PUSH1 0xa0 0000538b: SHL 0000538c: SUB 0000538d: DUP4 0000538e: AND 0000538f: PUSH1 0x60 00005391: DUP4 00005392: ADD 00005393: MSTORE 00005394: SWAP7 00005395: SWAP6 00005396: POP 00005397: POP 00005398: POP 00005399: POP 0000539a: POP 0000539b: POP 0000539c: JUMP 0000539d: JUMPDEST 0000539e: DUP5 0000539f: DUP2 000053a0: MSTORE 000053a1: DUP4 000053a2: PUSH1 0x20 000053a4: DUP3 000053a5: ADD 000053a6: MSTORE 000053a7: PUSH1 0x60 000053a9: PUSH1 0x40 000053ab: DUP3 000053ac: ADD 000053ad: MSTORE 000053ae: PUSH1 0x00 000053b0: PUSH2 0x3d3c 000053b3: PUSH1 0x60 000053b5: DUP4 000053b6: ADD 000053b7: DUP5 000053b8: DUP7 000053b9: PUSH2 0x531a 000053bc: JUMP 000053bd: JUMPDEST 000053be: PUSH1 0x40 000053c0: DUP2 000053c1: MSTORE 000053c2: PUSH1 0x00 000053c4: PUSH2 0x53d0 000053c7: PUSH1 0x40 000053c9: DUP4 000053ca: ADD 000053cb: DUP6 000053cc: PUSH2 0x46e4 000053cf: JUMP 000053d0: JUMPDEST 000053d1: DUP3 000053d2: DUP2 000053d3: SUB 000053d4: PUSH1 0x20 000053d6: DUP5 000053d7: ADD 000053d8: MSTORE 000053d9: PUSH2 0x18cd 000053dc: DUP2 000053dd: DUP6 000053de: PUSH2 0x46e4 000053e1: JUMP 000053e2: JUMPDEST 000053e3: PUSH1 0x00 000053e5: DUP1 000053e6: PUSH1 0x00 000053e8: PUSH1 0x60 000053ea: DUP5 000053eb: DUP7 000053ec: SUB 000053ed: SLT 000053ee: ISZERO 000053ef: PUSH2 0x53f7 000053f2: JUMPI 000053f3: PUSH1 0x00 000053f5: DUP1 000053f6: REVERT 000053f7: JUMPDEST 000053f8: DUP4 000053f9: MLOAD 000053fa: SWAP3 000053fb: POP 000053fc: PUSH1 0x20 000053fe: DUP5 000053ff: ADD 00005400: MLOAD 00005401: SWAP2 00005402: POP 00005403: PUSH1 0x40 00005405: DUP5 00005406: ADD 00005407: MLOAD 00005408: SWAP1 00005409: POP 0000540a: SWAP3 0000540b: POP 0000540c: SWAP3 0000540d: POP 0000540e: SWAP3 0000540f: JUMP 00005410: JUMPDEST 00005411: PUSH4 0x4e487b71 00005416: PUSH1 0xe0 00005418: SHL 00005419: PUSH1 0x00 0000541b: MSTORE 0000541c: PUSH1 0x01 0000541e: PUSH1 0x04 00005420: MSTORE 00005421: PUSH1 0x24 00005423: PUSH1 0x00 00005425: REVERT 00005426: JUMPDEST 00005427: PUSH1 0x60 00005429: DUP2 0000542a: MSTORE 0000542b: PUSH1 0x00 0000542d: PUSH2 0x543a 00005430: PUSH1 0x60 00005432: DUP4 00005433: ADD 00005434: DUP9 00005435: DUP11 00005436: PUSH2 0x531a 00005439: JUMP 0000543a: JUMPDEST 0000543b: DUP3 0000543c: DUP2 0000543d: SUB 0000543e: PUSH1 0x20 00005440: DUP5 00005441: ADD 00005442: MSTORE 00005443: DUP6 00005444: DUP2 00005445: MSTORE 00005446: PUSH1 0x01 00005448: PUSH1 0x01 0000544a: PUSH1 0xfb 0000544c: SHL 0000544d: SUB 0000544e: DUP7 0000544f: GT 00005450: ISZERO 00005451: PUSH2 0x5459 00005454: JUMPI 00005455: PUSH1 0x00 00005457: DUP1 00005458: REVERT 00005459: JUMPDEST 0000545a: DUP6 0000545b: PUSH1 0x05 0000545d: SHL 0000545e: DUP1 0000545f: DUP9 00005460: PUSH1 0x20 00005462: DUP5 00005463: ADD 00005464: CALLDATACOPY 00005465: ADD 00005466: DUP3 00005467: DUP2 00005468: SUB 00005469: PUSH1 0x20 0000546b: SWAP1 0000546c: DUP2 0000546d: ADD 0000546e: PUSH1 0x40 00005470: DUP6 00005471: ADD 00005472: MSTORE 00005473: PUSH2 0x547f 00005476: SWAP1 00005477: DUP3 00005478: ADD 00005479: DUP6 0000547a: DUP8 0000547b: PUSH2 0x531a 0000547e: JUMP 0000547f: JUMPDEST 00005480: SWAP10 00005481: SWAP9 00005482: POP 00005483: POP 00005484: POP 00005485: POP 00005486: POP 00005487: POP 00005488: POP 00005489: POP 0000548a: POP 0000548b: JUMP 0000548c: JUMPDEST 0000548d: DUP1 0000548e: MLOAD 0000548f: PUSH1 0x01 00005491: PUSH1 0x01 00005493: PUSH1 0xa0 00005495: SHL 00005496: SUB 00005497: SWAP1 00005498: DUP2 00005499: AND 0000549a: DUP4 0000549b: MSTORE 0000549c: PUSH1 0x20 0000549e: DUP1 0000549f: DUP4 000054a0: ADD 000054a1: MLOAD 000054a2: DUP3 000054a3: AND 000054a4: SWAP1 000054a5: DUP5 000054a6: ADD 000054a7: MSTORE 000054a8: PUSH1 0x40 000054aa: DUP1 000054ab: DUP4 000054ac: ADD 000054ad: MLOAD 000054ae: SWAP1 000054af: DUP5 000054b0: ADD 000054b1: MSTORE 000054b2: PUSH1 0x60 000054b4: DUP1 000054b5: DUP4 000054b6: ADD 000054b7: MLOAD 000054b8: DUP3 000054b9: AND 000054ba: SWAP1 000054bb: DUP5 000054bc: ADD 000054bd: MSTORE 000054be: PUSH1 0x80 000054c0: DUP1 000054c1: DUP4 000054c2: ADD 000054c3: MLOAD 000054c4: SWAP1 000054c5: SWAP2 000054c6: AND 000054c7: SWAP1 000054c8: DUP4 000054c9: ADD 000054ca: MSTORE 000054cb: PUSH1 0xa0 000054cd: SWAP1 000054ce: DUP2 000054cf: ADD 000054d0: MLOAD 000054d1: SWAP2 000054d2: ADD 000054d3: MSTORE 000054d4: JUMP 000054d5: JUMPDEST 000054d6: PUSH1 0xc0 000054d8: DUP2 000054d9: ADD 000054da: PUSH2 0x0d62 000054dd: DUP3 000054de: DUP5 000054df: PUSH2 0x548c 000054e2: JUMP 000054e3: JUMPDEST 000054e4: DUP4 000054e5: DUP2 000054e6: MSTORE 000054e7: PUSH1 0x20 000054e9: DUP2 000054ea: ADD 000054eb: DUP4 000054ec: SWAP1 000054ed: MSTORE 000054ee: PUSH1 0x60 000054f0: DUP2 000054f1: ADD 000054f2: PUSH2 0x54fa 000054f5: DUP4 000054f6: PUSH2 0x4aec 000054f9: JUMP 000054fa: JUMPDEST 000054fb: DUP3 000054fc: PUSH1 0x40 000054fe: DUP4 000054ff: ADD 00005500: MSTORE 00005501: SWAP5 00005502: SWAP4 00005503: POP 00005504: POP 00005505: POP 00005506: POP 00005507: JUMP 00005508: JUMPDEST 00005509: PUSH4 0x4e487b71 0000550e: PUSH1 0xe0 00005510: SHL 00005511: PUSH1 0x00 00005513: MSTORE 00005514: PUSH1 0x12 00005516: PUSH1 0x04 00005518: MSTORE 00005519: PUSH1 0x24 0000551b: PUSH1 0x00 0000551d: REVERT 0000551e: JUMPDEST 0000551f: DUP1 00005520: DUP3 00005521: MUL 00005522: DUP2 00005523: ISZERO 00005524: DUP3 00005525: DUP3 00005526: DIV 00005527: DUP5 00005528: EQ 00005529: OR 0000552a: PUSH2 0x0d62 0000552d: JUMPI 0000552e: PUSH2 0x0d62 00005531: PUSH2 0x52de 00005534: JUMP 00005535: JUMPDEST 00005536: PUSH1 0x00 00005538: DUP3 00005539: PUSH2 0x5552 0000553c: JUMPI 0000553d: PUSH4 0x4e487b71 00005542: PUSH1 0xe0 00005544: SHL 00005545: PUSH1 0x00 00005547: MSTORE 00005548: PUSH1 0x12 0000554a: PUSH1 0x04 0000554c: MSTORE 0000554d: PUSH1 0x24 0000554f: PUSH1 0x00 00005551: REVERT 00005552: JUMPDEST 00005553: POP 00005554: DIV 00005555: SWAP1 00005556: JUMP 00005557: JUMPDEST 00005558: PUSH1 0x00 0000555a: PUSH2 0x0160 0000555d: DUP3 0000555e: DUP5 0000555f: SUB 00005560: SLT 00005561: ISZERO 00005562: PUSH2 0x556a 00005565: JUMPI 00005566: PUSH1 0x00 00005568: DUP1 00005569: REVERT 0000556a: JUMPDEST 0000556b: PUSH2 0x5572 0000556e: PUSH2 0x48a3 00005571: JUMP 00005572: JUMPDEST 00005573: PUSH2 0x557b 00005576: DUP4 00005577: PUSH2 0x5062 0000557a: JUMP 0000557b: JUMPDEST 0000557c: DUP2 0000557d: MSTORE 0000557e: PUSH1 0x20 00005580: DUP4 00005581: ADD 00005582: MLOAD 00005583: PUSH1 0x20 00005585: DUP3 00005586: ADD 00005587: MSTORE 00005588: PUSH1 0x40 0000558a: DUP4 0000558b: ADD 0000558c: MLOAD 0000558d: PUSH1 0x40 0000558f: DUP3 00005590: ADD 00005591: MSTORE 00005592: PUSH1 0x60 00005594: DUP4 00005595: ADD 00005596: MLOAD 00005597: PUSH1 0x60 00005599: DUP3 0000559a: ADD 0000559b: MSTORE 0000559c: PUSH1 0x80 0000559e: DUP4 0000559f: ADD 000055a0: MLOAD 000055a1: PUSH1 0x80 000055a3: DUP3 000055a4: ADD 000055a5: MSTORE 000055a6: PUSH1 0xa0 000055a8: DUP4 000055a9: ADD 000055aa: MLOAD 000055ab: PUSH1 0xa0 000055ad: DUP3 000055ae: ADD 000055af: MSTORE 000055b0: PUSH1 0xc0 000055b2: DUP4 000055b3: ADD 000055b4: MLOAD 000055b5: PUSH1 0xc0 000055b7: DUP3 000055b8: ADD 000055b9: MSTORE 000055ba: PUSH1 0xe0 000055bc: DUP4 000055bd: ADD 000055be: MLOAD 000055bf: PUSH1 0xe0 000055c1: DUP3 000055c2: ADD 000055c3: MSTORE 000055c4: PUSH2 0x0100 000055c7: DUP1 000055c8: DUP5 000055c9: ADD 000055ca: MLOAD 000055cb: DUP2 000055cc: DUP4 000055cd: ADD 000055ce: MSTORE 000055cf: POP 000055d0: PUSH2 0x0120 000055d3: DUP1 000055d4: DUP5 000055d5: ADD 000055d6: MLOAD 000055d7: DUP2 000055d8: DUP4 000055d9: ADD 000055da: MSTORE 000055db: POP 000055dc: PUSH2 0x0140 000055df: DUP1 000055e0: DUP5 000055e1: ADD 000055e2: MLOAD 000055e3: DUP2 000055e4: DUP4 000055e5: ADD 000055e6: MSTORE 000055e7: POP 000055e8: DUP1 000055e9: SWAP2 000055ea: POP 000055eb: POP 000055ec: SWAP3 000055ed: SWAP2 000055ee: POP 000055ef: POP 000055f0: JUMP 000055f1: JUMPDEST 000055f2: DUP2 000055f3: DUP4 000055f4: MSTORE 000055f5: DUP2 000055f6: DUP2 000055f7: PUSH1 0x20 000055f9: DUP6 000055fa: ADD 000055fb: CALLDATACOPY 000055fc: POP 000055fd: PUSH1 0x00 000055ff: DUP3 00005600: DUP3 00005601: ADD 00005602: PUSH1 0x20 00005604: SWAP1 00005605: DUP2 00005606: ADD 00005607: SWAP2 00005608: SWAP1 00005609: SWAP2 0000560a: MSTORE 0000560b: PUSH1 0x1f 0000560d: SWAP1 0000560e: SWAP2 0000560f: ADD 00005610: PUSH1 0x1f 00005612: NOT 00005613: AND 00005614: SWAP1 00005615: SWAP2 00005616: ADD 00005617: ADD 00005618: SWAP1 00005619: JUMP 0000561a: JUMPDEST 0000561b: DUP10 0000561c: DUP2 0000561d: MSTORE 0000561e: PUSH1 0x20 00005620: DUP2 00005621: ADD 00005622: DUP10 00005623: SWAP1 00005624: MSTORE 00005625: PUSH1 0x01 00005627: PUSH1 0x01 00005629: PUSH1 0xa0 0000562b: SHL 0000562c: SUB 0000562d: DUP9 0000562e: AND 0000562f: PUSH1 0x40 00005631: DUP3 00005632: ADD 00005633: MSTORE 00005634: PUSH1 0x00 00005636: PUSH2 0x0340 00005639: PUSH2 0x5645 0000563c: PUSH1 0x60 0000563e: DUP5 0000563f: ADD 00005640: DUP11 00005641: PUSH2 0x548c 00005644: JUMP 00005645: JUMPDEST 00005646: PUSH2 0x0120 00005649: PUSH2 0x565d 0000564c: DUP2 0000564d: DUP6 0000564e: ADD 0000564f: DUP11 00005650: MLOAD 00005651: PUSH1 0x01 00005653: PUSH1 0x01 00005655: PUSH1 0xa0 00005657: SHL 00005658: SUB 00005659: AND 0000565a: SWAP1 0000565b: MSTORE 0000565c: JUMP 0000565d: JUMPDEST 0000565e: PUSH1 0x20 00005660: DUP10 00005661: ADD 00005662: MLOAD 00005663: PUSH2 0x0140 00005666: DUP6 00005667: DUP2 00005668: ADD 00005669: SWAP2 0000566a: SWAP1 0000566b: SWAP2 0000566c: MSTORE 0000566d: PUSH1 0x40 0000566f: DUP11 00005670: ADD 00005671: MLOAD 00005672: PUSH2 0x0160 00005675: DUP7 00005676: ADD 00005677: MSTORE 00005678: PUSH1 0x60 0000567a: DUP11 0000567b: ADD 0000567c: MLOAD 0000567d: PUSH2 0x0180 00005680: DUP7 00005681: ADD 00005682: MSTORE 00005683: PUSH1 0x80 00005685: DUP11 00005686: ADD 00005687: MLOAD 00005688: PUSH2 0x01a0 0000568b: DUP7 0000568c: ADD 0000568d: MSTORE 0000568e: PUSH1 0xa0 00005690: DUP11 00005691: ADD 00005692: MLOAD 00005693: PUSH2 0x01c0 00005696: DUP7 00005697: ADD 00005698: MSTORE 00005699: PUSH1 0xc0 0000569b: DUP11 0000569c: ADD 0000569d: MLOAD 0000569e: PUSH2 0x01e0 000056a1: DUP7 000056a2: ADD 000056a3: MSTORE 000056a4: PUSH1 0xe0 000056a6: DUP11 000056a7: ADD 000056a8: MLOAD 000056a9: PUSH2 0x0200 000056ac: DUP7 000056ad: ADD 000056ae: MSTORE 000056af: PUSH2 0x0100 000056b2: DUP11 000056b3: ADD 000056b4: MLOAD 000056b5: PUSH2 0x0220 000056b8: DUP7 000056b9: ADD 000056ba: MSTORE 000056bb: SWAP1 000056bc: DUP10 000056bd: ADD 000056be: MLOAD 000056bf: PUSH2 0x0240 000056c2: DUP6 000056c3: ADD 000056c4: MSTORE 000056c5: DUP9 000056c6: ADD 000056c7: MLOAD 000056c8: PUSH2 0x0260 000056cb: DUP5 000056cc: ADD 000056cd: MSTORE 000056ce: PUSH1 0x01 000056d0: PUSH1 0x01 000056d2: PUSH1 0xa0 000056d4: SHL 000056d5: SUB 000056d6: DUP8 000056d7: AND 000056d8: PUSH2 0x0280 000056db: DUP5 000056dc: ADD 000056dd: MSTORE 000056de: DUP6 000056df: MLOAD 000056e0: PUSH2 0x02a0 000056e3: DUP5 000056e4: ADD 000056e5: MSTORE 000056e6: PUSH1 0x20 000056e8: DUP7 000056e9: ADD 000056ea: MLOAD 000056eb: PUSH2 0x02c0 000056ee: DUP5 000056ef: ADD 000056f0: MSTORE 000056f1: PUSH1 0x40 000056f3: DUP7 000056f4: ADD 000056f5: MLOAD 000056f6: PUSH1 0x01 000056f8: PUSH1 0x01 000056fa: PUSH1 0xa0 000056fc: SHL 000056fd: SUB 000056fe: AND 000056ff: PUSH2 0x02e0 00005702: DUP5 00005703: ADD 00005704: MSTORE 00005705: PUSH1 0x60 00005707: DUP7 00005708: ADD 00005709: MLOAD 0000570a: ISZERO 0000570b: ISZERO 0000570c: PUSH2 0x0300 0000570f: DUP5 00005710: ADD 00005711: MSTORE 00005712: DUP1 00005713: PUSH2 0x0320 00005716: DUP5 00005717: ADD 00005718: MSTORE 00005719: PUSH2 0x5725 0000571c: DUP2 0000571d: DUP5 0000571e: ADD 0000571f: DUP6 00005720: DUP8 00005721: PUSH2 0x55f1 00005724: JUMP 00005725: JUMPDEST 00005726: SWAP13 00005727: SWAP12 00005728: POP 00005729: POP 0000572a: POP 0000572b: POP 0000572c: POP 0000572d: POP 0000572e: POP 0000572f: POP 00005730: POP 00005731: POP 00005732: POP 00005733: POP 00005734: JUMP 00005735: INVALID 00005736: LOG2 00005737: PUSH5 0x6970667358 0000573d: UNKNOWN(0x22) 0000573e: SLT 0000573f: KECCAK256 00005740: SWAP15 00005741: CALLDATALOAD 00005742: PUSH22 0x59fc6882407fc3f3609f4c81aa40f9d5f3317e32cdb2 00005759: STATICCALL 0000575a: UNKNOWN(0xE0) 0000575b: UNKNOWN(0x2F) 0000575c: PUSH27
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | yes | yes |
viewtrace_id: 0xb2381d4de4ea18881ff09400c54bdecd127f43029601871320c98c52a01b91cc
call_targets:
0x8709b88c5cbca830d63f726a6f6f8c6573486223, 0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea, 0xcd29a689eb1fd7f333dbe6855dcdd38796f78567, 0xd18bac6d95119237b225db48ec29155a8cd08743, 0xf19c66cb159246e00b5336b1ce4b4e8e01e4e4b4
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "confirmed",
"attempts": 26,
"trace_id": "0xb2381d4de4ea18881ff09400c54bdecd127f43029601871320c98c52a01b91cc",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x8709b88c5cbca830d63f726a6f6f8c6573486223",
"0x8bb2b57ab1f110c5720d54e07d87a9f6b40d9fea",
"0xcd29a689eb1fd7f333dbe6855dcdd38796f78567",
"0xd18bac6d95119237b225db48ec29155a8cd08743",
"0xf19c66cb159246e00b5336b1ce4b4e8e01e4e4b4"
],
"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": "0xe50d8b26",
"selector": "0xe50d8b26",
"calldata_variants": [
"0xe50d8b26",
"0xe50d8b260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9f45bec",
"selector": "0xe9f45bec",
"calldata_variants": [
"0xe9f45bec",
"0xe9f45bec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf12baf5c",
"selector": "0xf12baf5c",
"calldata_variants": [
"0xf12baf5c",
"0xf12baf5c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc468021",
"selector": "0xfc468021",
"calldata_variants": [
"0xfc468021",
"0xfc4680210000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xda62e064",
"selector": "0xda62e064",
"calldata_variants": [
"0xda62e064",
"0xda62e0640000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc47c23a",
"selector": "0xdc47c23a",
"calldata_variants": [
"0xdc47c23a",
"0xdc47c23a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdcc3e06e",
"selector": "0xdcc3e06e",
"calldata_variants": [
"0xdcc3e06e",
"0xdcc3e06e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3191,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 3521,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 3732,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 25,
"untrusted_delegatecall_count": 24
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x8201b2474262e7fabc0920190145a895a155f26ee44cc7f5d4884bae8ed176ff
call_targets:
0xf90bb2baa90b457a35c37c5a96de2720ce367281
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8201b2474262e7fabc0920190145a895a155f26ee44cc7f5d4884bae8ed176ff",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf90bb2baa90b457a35c37c5a96de2720ce367281"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xe50d8b26",
"selector": "0xe50d8b26",
"calldata_variants": [
"0xe50d8b26",
"0xe50d8b260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9f45bec",
"selector": "0xe9f45bec",
"calldata_variants": [
"0xe9f45bec",
"0xe9f45bec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf12baf5c",
"selector": "0xf12baf5c",
"calldata_variants": [
"0xf12baf5c",
"0xf12baf5c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc468021",
"selector": "0xfc468021",
"calldata_variants": [
"0xfc468021",
"0xfc4680210000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xda62e064",
"selector": "0xda62e064",
"calldata_variants": [
"0xda62e064",
"0xda62e0640000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc47c23a",
"selector": "0xdc47c23a",
"calldata_variants": [
"0xdc47c23a",
"0xdc47c23a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdcc3e06e",
"selector": "0xdcc3e06e",
"calldata_variants": [
"0xdcc3e06e",
"0xdcc3e06e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7177,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7799,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7943,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 8,
"guards_detected": [],
"untrusted_call_count": 8
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x8201b2474262e7fabc0920190145a895a155f26ee44cc7f5d4884bae8ed176ff
call_targets:
0xf90bb2baa90b457a35c37c5a96de2720ce367281
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8201b2474262e7fabc0920190145a895a155f26ee44cc7f5d4884bae8ed176ff",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf90bb2baa90b457a35c37c5a96de2720ce367281"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xe50d8b26",
"selector": "0xe50d8b26",
"calldata_variants": [
"0xe50d8b26",
"0xe50d8b260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9f45bec",
"selector": "0xe9f45bec",
"calldata_variants": [
"0xe9f45bec",
"0xe9f45bec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf12baf5c",
"selector": "0xf12baf5c",
"calldata_variants": [
"0xf12baf5c",
"0xf12baf5c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc468021",
"selector": "0xfc468021",
"calldata_variants": [
"0xfc468021",
"0xfc4680210000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xda62e064",
"selector": "0xda62e064",
"calldata_variants": [
"0xda62e064",
"0xda62e0640000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc47c23a",
"selector": "0xdc47c23a",
"calldata_variants": [
"0xdc47c23a",
"0xdc47c23a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdcc3e06e",
"selector": "0xdcc3e06e",
"calldata_variants": [
"0xdcc3e06e",
"0xdcc3e06e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7177,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7799,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7943,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 8,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 25
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 17
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 31
}
|