{
  "abi": [],
  "bytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "methodIdentifiers": {},
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSTRUCTOR\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we put the constructor in a private method and assign an unused return value to a variable. This forces the method to run during construction, but without declaring an explicit constructor.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x9e421049151727ad09416e8d85e9bab277971f2ff750f230f50ef3c22ee40532\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8309e82f8020f4936d10b800b6166b28c4ea21b6f25d670b6735bd5d664ded3\",\"dweb:/ipfs/QmQP9d7uDsUGypHuc5LCd8zD4TsmvSqRUEqX2npMo6NLiQ\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb0da85ce6999940eba6190a26c15b9bc7aede57123891287e1b30f80333a9cf5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d287fd41de40ef992588f7a9531e66d1e9f8e4f3f194b9e721ac576d4613964a\",\"dweb:/ipfs/QmbFYYjoc8WGLKVfDe4rscYPwdGq48incbwRQNoLtcMMjn\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x2d0cec0827a5ee9df571cde75cb742f8b977218283739e163801baa8c34439f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310afde56e845d7f36ca7ce191715038f8259d7a9250c171689744a797223556\",\"dweb:/ipfs/QmULG8AwNa5B64EMUSCwG1bAyJJK1sodAsAYvjk3vXbgMj\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.17+commit.8df45f5f"
    },
    "language": "Solidity",
    "output": {
      "abi": [],
      "devdoc": {
        "kind": "dev",
        "methods": {},
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {},
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        ":ds-test/=lib/forge-std/lib/ds-test/src/",
        ":forge-std/=lib/forge-std/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "compilationTarget": {
        "lib/forge-std/src/StdCheats.sol": "StdCheatsSafe"
      },
      "libraries": {}
    },
    "sources": {
      "lib/forge-std/src/StdCheats.sol": {
        "keccak256": "0x9e421049151727ad09416e8d85e9bab277971f2ff750f230f50ef3c22ee40532",
        "urls": [
          "bzz-raw://d8309e82f8020f4936d10b800b6166b28c4ea21b6f25d670b6735bd5d664ded3",
          "dweb:/ipfs/QmQP9d7uDsUGypHuc5LCd8zD4TsmvSqRUEqX2npMo6NLiQ"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdStorage.sol": {
        "keccak256": "0xb0da85ce6999940eba6190a26c15b9bc7aede57123891287e1b30f80333a9cf5",
        "urls": [
          "bzz-raw://d287fd41de40ef992588f7a9531e66d1e9f8e4f3f194b9e721ac576d4613964a",
          "dweb:/ipfs/QmbFYYjoc8WGLKVfDe4rscYPwdGq48incbwRQNoLtcMMjn"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/Vm.sol": {
        "keccak256": "0x2d0cec0827a5ee9df571cde75cb742f8b977218283739e163801baa8c34439f6",
        "urls": [
          "bzz-raw://310afde56e845d7f36ca7ce191715038f8259d7a9250c171689744a797223556",
          "dweb:/ipfs/QmULG8AwNa5B64EMUSCwG1bAyJJK1sodAsAYvjk3vXbgMj"
        ],
        "license": "MIT"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "lib/forge-std/src/StdCheats.sol",
    "id": 5074,
    "exportedSymbols": {
      "StdCheats": [
        5073
      ],
      "StdCheatsSafe": [
        4684
      ],
      "StdStorage": [
        5672
      ],
      "Vm": [
        8315
      ],
      "VmSafe": [
        7990
      ],
      "stdStorage": [
        7106
      ],
      "stdStorageSafe": [
        6565
      ]
    },
    "nodeType": "SourceUnit",
    "src": "32:24912:5",
    "nodes": [
      {
        "id": 2679,
        "nodeType": "PragmaDirective",
        "src": "32:31:5",
        "literals": [
          "solidity",
          ">=",
          "0.6",
          ".2",
          "<",
          "0.9",
          ".0"
        ]
      },
      {
        "id": 2680,
        "nodeType": "PragmaDirective",
        "src": "65:33:5",
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ]
      },
      {
        "id": 2681,
        "nodeType": "ImportDirective",
        "src": "100:26:5",
        "absolutePath": "lib/forge-std/src/StdStorage.sol",
        "file": "./StdStorage.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 5074,
        "sourceUnit": 7107,
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "id": 2682,
        "nodeType": "ImportDirective",
        "src": "127:18:5",
        "absolutePath": "lib/forge-std/src/Vm.sol",
        "file": "./Vm.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 5074,
        "sourceUnit": 8316,
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "id": 4684,
        "nodeType": "ContractDefinition",
        "src": "147:21590:5",
        "nodes": [
          {
            "id": 2699,
            "nodeType": "VariableDeclaration",
            "src": "185:92:5",
            "constant": true,
            "mutability": "constant",
            "name": "vm",
            "nameLocation": "209:2:5",
            "scope": 4684,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_VmSafe_$7990",
              "typeString": "contract VmSafe"
            },
            "typeName": {
              "id": 2684,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 2683,
                "name": "VmSafe",
                "nameLocations": [
                  "185:6:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 7990,
                "src": "185:6:5"
              },
              "referencedDeclaration": 7990,
              "src": "185:6:5",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_VmSafe_$7990",
                "typeString": "contract VmSafe"
              }
            },
            "value": {
              "arguments": [
                {
                  "arguments": [
                    {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "6865766d20636865617420636f6465",
                                  "id": 2693,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "255:17:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
                                    "typeString": "literal_string \"hevm cheat code\""
                                  },
                                  "value": "hevm cheat code"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
                                    "typeString": "literal_string \"hevm cheat code\""
                                  }
                                ],
                                "id": 2692,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -8,
                                "src": "245:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes memory) pure returns (bytes32)"
                                }
                              },
                              "id": 2694,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "245:28:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 2691,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "237:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 2690,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "237:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 2695,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "237:37:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 2689,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "229:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint160_$",
                          "typeString": "type(uint160)"
                        },
                        "typeName": {
                          "id": 2688,
                          "name": "uint160",
                          "nodeType": "ElementaryTypeName",
                          "src": "229:7:5",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 2696,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "229:46:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint160",
                        "typeString": "uint160"
                      }
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_uint160",
                        "typeString": "uint160"
                      }
                    ],
                    "id": 2687,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "nodeType": "ElementaryTypeNameExpression",
                    "src": "221:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_type$_t_address_$",
                      "typeString": "type(address)"
                    },
                    "typeName": {
                      "id": 2686,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "221:7:5",
                      "typeDescriptions": {}
                    }
                  },
                  "id": 2697,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "typeConversion",
                  "lValueRequested": false,
                  "nameLocations": [],
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "221:55:5",
                  "tryCall": false,
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                ],
                "id": 2685,
                "name": "VmSafe",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 7990,
                "src": "214:6:5",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_contract$_VmSafe_$7990_$",
                  "typeString": "type(contract VmSafe)"
                }
              },
              "id": 2698,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "nameLocations": [],
              "names": [],
              "nodeType": "FunctionCall",
              "src": "214:63:5",
              "tryCall": false,
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_VmSafe_$7990",
                "typeString": "contract VmSafe"
              }
            },
            "visibility": "private"
          },
          {
            "id": 2704,
            "nodeType": "VariableDeclaration",
            "src": "620:44:5",
            "constant": false,
            "documentation": {
              "id": 2700,
              "nodeType": "StructuredDocumentation",
              "src": "284:331:5",
              "text": "@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we put the constructor in a private method and assign an unused return value to a variable. This\n forces the method to run during construction, but without declaring an explicit constructor."
            },
            "mutability": "mutable",
            "name": "CONSTRUCTOR",
            "nameLocation": "636:11:5",
            "scope": 4684,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2701,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "620:7:5",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "arguments": [],
              "expression": {
                "argumentTypes": [],
                "id": 2702,
                "name": "_constructor",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 3413,
                "src": "650:12:5",
                "typeDescriptions": {
                  "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_uint256_$",
                  "typeString": "function () returns (uint256)"
                }
              },
              "id": 2703,
              "isConstant": false,
              "isLValue": false,
              "isPure": false,
              "kind": "functionCall",
              "lValueRequested": false,
              "nameLocations": [],
              "names": [],
              "nodeType": "FunctionCall",
              "src": "650:14:5",
              "tryCall": false,
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "private"
          },
          {
            "id": 2711,
            "nodeType": "StructDefinition",
            "src": "671:567:5",
            "canonicalName": "StdCheatsSafe.Chain",
            "members": [
              {
                "constant": false,
                "id": 2706,
                "mutability": "mutable",
                "name": "name",
                "nameLocation": "800:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2711,
                "src": "793:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2705,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "793:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2708,
                "mutability": "mutable",
                "name": "chainId",
                "nameLocation": "855:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2711,
                "src": "847:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2707,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "847:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2710,
                "mutability": "mutable",
                "name": "rpcUrl",
                "nameLocation": "1225:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2711,
                "src": "1218:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2709,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1218:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Chain",
            "nameLocation": "678:5:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2763,
            "nodeType": "StructDefinition",
            "src": "1244:473:5",
            "canonicalName": "StdCheatsSafe.Chains",
            "members": [
              {
                "constant": false,
                "id": 2714,
                "mutability": "mutable",
                "name": "Anvil",
                "nameLocation": "1274:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1268:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2713,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2712,
                    "name": "Chain",
                    "nameLocations": [
                      "1268:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1268:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1268:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2717,
                "mutability": "mutable",
                "name": "Hardhat",
                "nameLocation": "1295:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1289:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2716,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2715,
                    "name": "Chain",
                    "nameLocations": [
                      "1289:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1289:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1289:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2720,
                "mutability": "mutable",
                "name": "Mainnet",
                "nameLocation": "1318:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1312:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2719,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2718,
                    "name": "Chain",
                    "nameLocations": [
                      "1312:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1312:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1312:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2723,
                "mutability": "mutable",
                "name": "Goerli",
                "nameLocation": "1341:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1335:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2722,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2721,
                    "name": "Chain",
                    "nameLocations": [
                      "1335:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1335:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1335:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2726,
                "mutability": "mutable",
                "name": "Sepolia",
                "nameLocation": "1363:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1357:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2725,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2724,
                    "name": "Chain",
                    "nameLocations": [
                      "1357:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1357:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1357:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2729,
                "mutability": "mutable",
                "name": "Optimism",
                "nameLocation": "1386:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1380:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2728,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2727,
                    "name": "Chain",
                    "nameLocations": [
                      "1380:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1380:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1380:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2732,
                "mutability": "mutable",
                "name": "OptimismGoerli",
                "nameLocation": "1410:14:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1404:20:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2731,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2730,
                    "name": "Chain",
                    "nameLocations": [
                      "1404:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1404:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1404:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2735,
                "mutability": "mutable",
                "name": "ArbitrumOne",
                "nameLocation": "1440:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1434:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2734,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2733,
                    "name": "Chain",
                    "nameLocations": [
                      "1434:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1434:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1434:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2738,
                "mutability": "mutable",
                "name": "ArbitrumOneGoerli",
                "nameLocation": "1467:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1461:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2737,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2736,
                    "name": "Chain",
                    "nameLocations": [
                      "1461:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1461:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1461:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2741,
                "mutability": "mutable",
                "name": "ArbitrumNova",
                "nameLocation": "1500:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1494:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2740,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2739,
                    "name": "Chain",
                    "nameLocations": [
                      "1494:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1494:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1494:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2744,
                "mutability": "mutable",
                "name": "Polygon",
                "nameLocation": "1528:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1522:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2743,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2742,
                    "name": "Chain",
                    "nameLocations": [
                      "1522:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1522:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1522:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2747,
                "mutability": "mutable",
                "name": "PolygonMumbai",
                "nameLocation": "1551:13:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1545:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2746,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2745,
                    "name": "Chain",
                    "nameLocations": [
                      "1545:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1545:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1545:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2750,
                "mutability": "mutable",
                "name": "Avalanche",
                "nameLocation": "1580:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1574:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2749,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2748,
                    "name": "Chain",
                    "nameLocations": [
                      "1574:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1574:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1574:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2753,
                "mutability": "mutable",
                "name": "AvalancheFuji",
                "nameLocation": "1605:13:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1599:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2752,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2751,
                    "name": "Chain",
                    "nameLocations": [
                      "1599:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1599:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1599:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2756,
                "mutability": "mutable",
                "name": "BnbSmartChain",
                "nameLocation": "1634:13:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1628:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2755,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2754,
                    "name": "Chain",
                    "nameLocations": [
                      "1628:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1628:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1628:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2759,
                "mutability": "mutable",
                "name": "BnbSmartChainTestnet",
                "nameLocation": "1663:20:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1657:26:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2758,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2757,
                    "name": "Chain",
                    "nameLocations": [
                      "1657:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1657:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1657:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2762,
                "mutability": "mutable",
                "name": "GnosisChain",
                "nameLocation": "1699:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2763,
                "src": "1693:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Chain"
                },
                "typeName": {
                  "id": 2761,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2760,
                    "name": "Chain",
                    "nameLocations": [
                      "1693:5:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2711,
                    "src": "1693:5:5"
                  },
                  "referencedDeclaration": 2711,
                  "src": "1693:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Chain_$2711_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Chain"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Chains",
            "nameLocation": "1251:6:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2766,
            "nodeType": "VariableDeclaration",
            "src": "1723:16:5",
            "constant": false,
            "mutability": "mutable",
            "name": "stdChains",
            "nameLocation": "1730:9:5",
            "scope": 4684,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_Chains_$2763_storage",
              "typeString": "struct StdCheatsSafe.Chains"
            },
            "typeName": {
              "id": 2765,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 2764,
                "name": "Chains",
                "nameLocations": [
                  "1723:6:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 2763,
                "src": "1723:6:5"
              },
              "referencedDeclaration": 2763,
              "src": "1723:6:5",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Chains_$2763_storage_ptr",
                "typeString": "struct StdCheatsSafe.Chains"
              }
            },
            "visibility": "internal"
          },
          {
            "id": 2783,
            "nodeType": "StructDefinition",
            "src": "1984:325:5",
            "canonicalName": "StdCheatsSafe.RawTx1559",
            "members": [
              {
                "constant": false,
                "id": 2769,
                "mutability": "mutable",
                "name": "arguments",
                "nameLocation": "2020:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2783,
                "src": "2011:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2767,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2011:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 2768,
                  "nodeType": "ArrayTypeName",
                  "src": "2011:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2771,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "2047:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 2783,
                "src": "2039:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2770,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2039:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2773,
                "mutability": "mutable",
                "name": "contractName",
                "nameLocation": "2079:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 2783,
                "src": "2072:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2772,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2072:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2775,
                "mutability": "mutable",
                "name": "functionSig",
                "nameLocation": "2146:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2783,
                "src": "2139:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2774,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2139:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2777,
                "mutability": "mutable",
                "name": "hash",
                "nameLocation": "2175:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2783,
                "src": "2167:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2776,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2167:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2780,
                "mutability": "mutable",
                "name": "txDetail",
                "nameLocation": "2237:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 2783,
                "src": "2221:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_storage_ptr",
                  "typeString": "struct StdCheatsSafe.RawTx1559Detail"
                },
                "typeName": {
                  "id": 2779,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2778,
                    "name": "RawTx1559Detail",
                    "nameLocations": [
                      "2221:15:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2802,
                    "src": "2221:15:5"
                  },
                  "referencedDeclaration": 2802,
                  "src": "2221:15:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_storage_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559Detail"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2782,
                "mutability": "mutable",
                "name": "opcode",
                "nameLocation": "2296:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2783,
                "src": "2289:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2781,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2289:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawTx1559",
            "nameLocation": "1991:9:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2802,
            "nodeType": "StructDefinition",
            "src": "2315:208:5",
            "canonicalName": "StdCheatsSafe.RawTx1559Detail",
            "members": [
              {
                "constant": false,
                "id": 2787,
                "mutability": "mutable",
                "name": "accessList",
                "nameLocation": "2361:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 2802,
                "src": "2348:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.AccessList[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2785,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2784,
                      "name": "AccessList",
                      "nameLocations": [
                        "2348:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2894,
                      "src": "2348:10:5"
                    },
                    "referencedDeclaration": 2894,
                    "src": "2348:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AccessList_$2894_storage_ptr",
                      "typeString": "struct StdCheatsSafe.AccessList"
                    }
                  },
                  "id": 2786,
                  "nodeType": "ArrayTypeName",
                  "src": "2348:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.AccessList[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2789,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "2387:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2802,
                "src": "2381:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2788,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2381:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2791,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "2409:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2802,
                "src": "2401:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2790,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2401:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2793,
                "mutability": "mutable",
                "name": "gas",
                "nameLocation": "2429:3:5",
                "nodeType": "VariableDeclaration",
                "scope": 2802,
                "src": "2423:9:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2792,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2423:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2795,
                "mutability": "mutable",
                "name": "nonce",
                "nameLocation": "2448:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 2802,
                "src": "2442:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2794,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2442:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2797,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "2471:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 2802,
                "src": "2463:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2796,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2463:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2799,
                "mutability": "mutable",
                "name": "txType",
                "nameLocation": "2489:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2802,
                "src": "2483:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2798,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2483:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2801,
                "mutability": "mutable",
                "name": "value",
                "nameLocation": "2511:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 2802,
                "src": "2505:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2800,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2505:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawTx1559Detail",
            "nameLocation": "2322:15:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2819,
            "nodeType": "StructDefinition",
            "src": "2529:215:5",
            "canonicalName": "StdCheatsSafe.Tx1559",
            "members": [
              {
                "constant": false,
                "id": 2805,
                "mutability": "mutable",
                "name": "arguments",
                "nameLocation": "2562:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2819,
                "src": "2553:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2803,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2553:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 2804,
                  "nodeType": "ArrayTypeName",
                  "src": "2553:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2807,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "2589:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 2819,
                "src": "2581:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2806,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2581:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2809,
                "mutability": "mutable",
                "name": "contractName",
                "nameLocation": "2621:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 2819,
                "src": "2614:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2808,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2614:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2811,
                "mutability": "mutable",
                "name": "functionSig",
                "nameLocation": "2650:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2819,
                "src": "2643:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2810,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2643:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2813,
                "mutability": "mutable",
                "name": "hash",
                "nameLocation": "2679:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2819,
                "src": "2671:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2812,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2671:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2816,
                "mutability": "mutable",
                "name": "txDetail",
                "nameLocation": "2706:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 2819,
                "src": "2693:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Tx1559Detail_$2838_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Tx1559Detail"
                },
                "typeName": {
                  "id": 2815,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2814,
                    "name": "Tx1559Detail",
                    "nameLocations": [
                      "2693:12:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2838,
                    "src": "2693:12:5"
                  },
                  "referencedDeclaration": 2838,
                  "src": "2693:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Tx1559Detail_$2838_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559Detail"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2818,
                "mutability": "mutable",
                "name": "opcode",
                "nameLocation": "2731:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2819,
                "src": "2724:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2817,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2724:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Tx1559",
            "nameLocation": "2536:6:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2838,
            "nodeType": "StructDefinition",
            "src": "2750:213:5",
            "canonicalName": "StdCheatsSafe.Tx1559Detail",
            "members": [
              {
                "constant": false,
                "id": 2823,
                "mutability": "mutable",
                "name": "accessList",
                "nameLocation": "2793:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 2838,
                "src": "2780:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.AccessList[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2821,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2820,
                      "name": "AccessList",
                      "nameLocations": [
                        "2780:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2894,
                      "src": "2780:10:5"
                    },
                    "referencedDeclaration": 2894,
                    "src": "2780:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AccessList_$2894_storage_ptr",
                      "typeString": "struct StdCheatsSafe.AccessList"
                    }
                  },
                  "id": 2822,
                  "nodeType": "ArrayTypeName",
                  "src": "2780:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.AccessList[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2825,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "2819:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2838,
                "src": "2813:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2824,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2813:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2827,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "2841:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2838,
                "src": "2833:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2826,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2833:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2829,
                "mutability": "mutable",
                "name": "gas",
                "nameLocation": "2863:3:5",
                "nodeType": "VariableDeclaration",
                "scope": 2838,
                "src": "2855:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2828,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2855:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2831,
                "mutability": "mutable",
                "name": "nonce",
                "nameLocation": "2884:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 2838,
                "src": "2876:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2830,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2876:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2833,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "2907:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 2838,
                "src": "2899:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2832,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2899:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2835,
                "mutability": "mutable",
                "name": "txType",
                "nameLocation": "2927:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2838,
                "src": "2919:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2834,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2919:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2837,
                "mutability": "mutable",
                "name": "value",
                "nameLocation": "2951:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 2838,
                "src": "2943:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2836,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2943:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Tx1559Detail",
            "nameLocation": "2757:12:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2855,
            "nodeType": "StructDefinition",
            "src": "3214:221:5",
            "canonicalName": "StdCheatsSafe.TxLegacy",
            "members": [
              {
                "constant": false,
                "id": 2841,
                "mutability": "mutable",
                "name": "arguments",
                "nameLocation": "3249:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2855,
                "src": "3240:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2839,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3240:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 2840,
                  "nodeType": "ArrayTypeName",
                  "src": "3240:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2843,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "3276:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 2855,
                "src": "3268:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2842,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3268:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2845,
                "mutability": "mutable",
                "name": "contractName",
                "nameLocation": "3308:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 2855,
                "src": "3301:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2844,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3301:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2847,
                "mutability": "mutable",
                "name": "functionSig",
                "nameLocation": "3337:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2855,
                "src": "3330:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2846,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3330:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2849,
                "mutability": "mutable",
                "name": "hash",
                "nameLocation": "3365:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2855,
                "src": "3358:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2848,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3358:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2851,
                "mutability": "mutable",
                "name": "opcode",
                "nameLocation": "3386:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2855,
                "src": "3379:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2850,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3379:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2854,
                "mutability": "mutable",
                "name": "transaction",
                "nameLocation": "3417:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2855,
                "src": "3402:26:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_TxDetailLegacy_$2888_storage_ptr",
                  "typeString": "struct StdCheatsSafe.TxDetailLegacy"
                },
                "typeName": {
                  "id": 2853,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2852,
                    "name": "TxDetailLegacy",
                    "nameLocations": [
                      "3402:14:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2888,
                    "src": "3402:14:5"
                  },
                  "referencedDeclaration": 2888,
                  "src": "3402:14:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_TxDetailLegacy_$2888_storage_ptr",
                    "typeString": "struct StdCheatsSafe.TxDetailLegacy"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "TxLegacy",
            "nameLocation": "3221:8:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2888,
            "nodeType": "StructDefinition",
            "src": "3441:366:5",
            "canonicalName": "StdCheatsSafe.TxDetailLegacy",
            "members": [
              {
                "constant": false,
                "id": 2859,
                "mutability": "mutable",
                "name": "accessList",
                "nameLocation": "3486:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3473:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.AccessList[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2857,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2856,
                      "name": "AccessList",
                      "nameLocations": [
                        "3473:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2894,
                      "src": "3473:10:5"
                    },
                    "referencedDeclaration": 2894,
                    "src": "3473:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AccessList_$2894_storage_ptr",
                      "typeString": "struct StdCheatsSafe.AccessList"
                    }
                  },
                  "id": 2858,
                  "nodeType": "ArrayTypeName",
                  "src": "3473:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.AccessList[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2861,
                "mutability": "mutable",
                "name": "chainId",
                "nameLocation": "3514:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3506:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2860,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3506:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2863,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "3537:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3531:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2862,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3531:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2865,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "3559:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3551:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2864,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3551:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2867,
                "mutability": "mutable",
                "name": "gas",
                "nameLocation": "3581:3:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3573:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2866,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3573:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2869,
                "mutability": "mutable",
                "name": "gasPrice",
                "nameLocation": "3602:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3594:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2868,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3594:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2871,
                "mutability": "mutable",
                "name": "hash",
                "nameLocation": "3628:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3620:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2870,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3620:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2873,
                "mutability": "mutable",
                "name": "nonce",
                "nameLocation": "3650:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3642:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2872,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3642:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2875,
                "mutability": "mutable",
                "name": "opcode",
                "nameLocation": "3672:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3665:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes1",
                  "typeString": "bytes1"
                },
                "typeName": {
                  "id": 2874,
                  "name": "bytes1",
                  "nodeType": "ElementaryTypeName",
                  "src": "3665:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes1",
                    "typeString": "bytes1"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2877,
                "mutability": "mutable",
                "name": "r",
                "nameLocation": "3696:1:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3688:9:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2876,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3688:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2879,
                "mutability": "mutable",
                "name": "s",
                "nameLocation": "3715:1:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3707:9:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2878,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3707:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2881,
                "mutability": "mutable",
                "name": "txType",
                "nameLocation": "3734:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3726:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2880,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3726:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2883,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "3758:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3750:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2882,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3750:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2885,
                "mutability": "mutable",
                "name": "v",
                "nameLocation": "3776:1:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3770:7:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint8",
                  "typeString": "uint8"
                },
                "typeName": {
                  "id": 2884,
                  "name": "uint8",
                  "nodeType": "ElementaryTypeName",
                  "src": "3770:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2887,
                "mutability": "mutable",
                "name": "value",
                "nameLocation": "3795:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 2888,
                "src": "3787:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2886,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3787:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "TxDetailLegacy",
            "nameLocation": "3448:14:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2894,
            "nodeType": "StructDefinition",
            "src": "3813:87:5",
            "canonicalName": "StdCheatsSafe.AccessList",
            "members": [
              {
                "constant": false,
                "id": 2890,
                "mutability": "mutable",
                "name": "accessAddress",
                "nameLocation": "3849:13:5",
                "nodeType": "VariableDeclaration",
                "scope": 2894,
                "src": "3841:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2889,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3841:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2893,
                "mutability": "mutable",
                "name": "storageKeys",
                "nameLocation": "3882:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2894,
                "src": "3872:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                  "typeString": "bytes32[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2891,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3872:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 2892,
                  "nodeType": "ArrayTypeName",
                  "src": "3872:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                    "typeString": "bytes32[]"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "AccessList",
            "nameLocation": "3820:10:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2923,
            "nodeType": "StructDefinition",
            "src": "4116:385:5",
            "canonicalName": "StdCheatsSafe.RawReceipt",
            "members": [
              {
                "constant": false,
                "id": 2896,
                "mutability": "mutable",
                "name": "blockHash",
                "nameLocation": "4152:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4144:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2895,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4144:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2898,
                "mutability": "mutable",
                "name": "blockNumber",
                "nameLocation": "4177:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4171:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2897,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4171:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2900,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "4206:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4198:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2899,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4198:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2902,
                "mutability": "mutable",
                "name": "cumulativeGasUsed",
                "nameLocation": "4237:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4231:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2901,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4231:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2904,
                "mutability": "mutable",
                "name": "effectiveGasPrice",
                "nameLocation": "4270:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4264:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2903,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4264:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2906,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "4305:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4297:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2905,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4297:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2908,
                "mutability": "mutable",
                "name": "gasUsed",
                "nameLocation": "4325:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4319:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2907,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4319:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2912,
                "mutability": "mutable",
                "name": "logs",
                "nameLocation": "4358:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4342:20:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.RawReceiptLog[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2910,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2909,
                      "name": "RawReceiptLog",
                      "nameLocations": [
                        "4342:13:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3020,
                      "src": "4342:13:5"
                    },
                    "referencedDeclaration": 3020,
                    "src": "4342:13:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawReceiptLog_$3020_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceiptLog"
                    }
                  },
                  "id": 2911,
                  "nodeType": "ArrayTypeName",
                  "src": "4342:15:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceiptLog[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2914,
                "mutability": "mutable",
                "name": "logsBloom",
                "nameLocation": "4378:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4372:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2913,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4372:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2916,
                "mutability": "mutable",
                "name": "status",
                "nameLocation": "4403:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4397:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2915,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4397:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2918,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "4427:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4419:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2917,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4419:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2920,
                "mutability": "mutable",
                "name": "transactionHash",
                "nameLocation": "4447:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4439:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2919,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4439:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2922,
                "mutability": "mutable",
                "name": "transactionIndex",
                "nameLocation": "4478:16:5",
                "nodeType": "VariableDeclaration",
                "scope": 2923,
                "src": "4472:22:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2921,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4472:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawReceipt",
            "nameLocation": "4123:10:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2952,
            "nodeType": "StructDefinition",
            "src": "4507:391:5",
            "canonicalName": "StdCheatsSafe.Receipt",
            "members": [
              {
                "constant": false,
                "id": 2925,
                "mutability": "mutable",
                "name": "blockHash",
                "nameLocation": "4540:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4532:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2924,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4532:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2927,
                "mutability": "mutable",
                "name": "blockNumber",
                "nameLocation": "4567:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4559:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2926,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4559:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2929,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "4596:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4588:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2928,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4588:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2931,
                "mutability": "mutable",
                "name": "cumulativeGasUsed",
                "nameLocation": "4629:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4621:25:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2930,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4621:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2933,
                "mutability": "mutable",
                "name": "effectiveGasPrice",
                "nameLocation": "4664:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4656:25:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2932,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4656:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2935,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "4699:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4691:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2934,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4691:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2937,
                "mutability": "mutable",
                "name": "gasUsed",
                "nameLocation": "4721:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4713:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2936,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4713:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2941,
                "mutability": "mutable",
                "name": "logs",
                "nameLocation": "4751:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4738:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2939,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2938,
                      "name": "ReceiptLog",
                      "nameLocations": [
                        "4738:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3040,
                      "src": "4738:10:5"
                    },
                    "referencedDeclaration": 3040,
                    "src": "4738:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ReceiptLog_$3040_storage_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog"
                    }
                  },
                  "id": 2940,
                  "nodeType": "ArrayTypeName",
                  "src": "4738:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2943,
                "mutability": "mutable",
                "name": "logsBloom",
                "nameLocation": "4771:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4765:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2942,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4765:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2945,
                "mutability": "mutable",
                "name": "status",
                "nameLocation": "4798:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4790:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2944,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4790:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2947,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "4822:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4814:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2946,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4814:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2949,
                "mutability": "mutable",
                "name": "transactionHash",
                "nameLocation": "4842:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4834:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2948,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4834:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2951,
                "mutability": "mutable",
                "name": "transactionIndex",
                "nameLocation": "4875:16:5",
                "nodeType": "VariableDeclaration",
                "scope": 2952,
                "src": "4867:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2950,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4867:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Receipt",
            "nameLocation": "4514:7:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2975,
            "nodeType": "StructDefinition",
            "src": "5021:227:5",
            "canonicalName": "StdCheatsSafe.EIP1559ScriptArtifact",
            "members": [
              {
                "constant": false,
                "id": 2955,
                "mutability": "mutable",
                "name": "libraries",
                "nameLocation": "5069:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2975,
                "src": "5060:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2953,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5060:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 2954,
                  "nodeType": "ArrayTypeName",
                  "src": "5060:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2957,
                "mutability": "mutable",
                "name": "path",
                "nameLocation": "5095:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2975,
                "src": "5088:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2956,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "5088:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2960,
                "mutability": "mutable",
                "name": "pending",
                "nameLocation": "5118:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2975,
                "src": "5109:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2958,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5109:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 2959,
                  "nodeType": "ArrayTypeName",
                  "src": "5109:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2964,
                "mutability": "mutable",
                "name": "receipts",
                "nameLocation": "5145:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 2975,
                "src": "5135:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Receipt[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2962,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2961,
                      "name": "Receipt",
                      "nameLocations": [
                        "5135:7:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2952,
                      "src": "5135:7:5"
                    },
                    "referencedDeclaration": 2952,
                    "src": "5135:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$2952_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt"
                    }
                  },
                  "id": 2963,
                  "nodeType": "ArrayTypeName",
                  "src": "5135:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2966,
                "mutability": "mutable",
                "name": "timestamp",
                "nameLocation": "5171:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2975,
                "src": "5163:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2965,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "5163:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2970,
                "mutability": "mutable",
                "name": "transactions",
                "nameLocation": "5199:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 2975,
                "src": "5190:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Tx1559[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2968,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2967,
                      "name": "Tx1559",
                      "nameLocations": [
                        "5190:6:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2819,
                      "src": "5190:6:5"
                    },
                    "referencedDeclaration": 2819,
                    "src": "5190:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$2819_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559"
                    }
                  },
                  "id": 2969,
                  "nodeType": "ArrayTypeName",
                  "src": "5190:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2974,
                "mutability": "mutable",
                "name": "txReturns",
                "nameLocation": "5232:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2975,
                "src": "5221:20:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_TxReturn_$3045_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.TxReturn[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2972,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2971,
                      "name": "TxReturn",
                      "nameLocations": [
                        "5221:8:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3045,
                      "src": "5221:8:5"
                    },
                    "referencedDeclaration": 3045,
                    "src": "5221:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TxReturn_$3045_storage_ptr",
                      "typeString": "struct StdCheatsSafe.TxReturn"
                    }
                  },
                  "id": 2973,
                  "nodeType": "ArrayTypeName",
                  "src": "5221:10:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_TxReturn_$3045_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.TxReturn[]"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "EIP1559ScriptArtifact",
            "nameLocation": "5028:21:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 2998,
            "nodeType": "StructDefinition",
            "src": "5254:236:5",
            "canonicalName": "StdCheatsSafe.RawEIP1559ScriptArtifact",
            "members": [
              {
                "constant": false,
                "id": 2978,
                "mutability": "mutable",
                "name": "libraries",
                "nameLocation": "5305:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2998,
                "src": "5296:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2976,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5296:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 2977,
                  "nodeType": "ArrayTypeName",
                  "src": "5296:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2980,
                "mutability": "mutable",
                "name": "path",
                "nameLocation": "5331:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 2998,
                "src": "5324:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2979,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "5324:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2983,
                "mutability": "mutable",
                "name": "pending",
                "nameLocation": "5354:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 2998,
                "src": "5345:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2981,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5345:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 2982,
                  "nodeType": "ArrayTypeName",
                  "src": "5345:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2987,
                "mutability": "mutable",
                "name": "receipts",
                "nameLocation": "5384:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 2998,
                "src": "5371:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.RawReceipt[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2985,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2984,
                      "name": "RawReceipt",
                      "nameLocations": [
                        "5371:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2923,
                      "src": "5371:10:5"
                    },
                    "referencedDeclaration": 2923,
                    "src": "5371:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawReceipt_$2923_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt"
                    }
                  },
                  "id": 2986,
                  "nodeType": "ArrayTypeName",
                  "src": "5371:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceipt[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2991,
                "mutability": "mutable",
                "name": "txReturns",
                "nameLocation": "5413:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2998,
                "src": "5402:20:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_TxReturn_$3045_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.TxReturn[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2989,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2988,
                      "name": "TxReturn",
                      "nameLocations": [
                        "5402:8:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3045,
                      "src": "5402:8:5"
                    },
                    "referencedDeclaration": 3045,
                    "src": "5402:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TxReturn_$3045_storage_ptr",
                      "typeString": "struct StdCheatsSafe.TxReturn"
                    }
                  },
                  "id": 2990,
                  "nodeType": "ArrayTypeName",
                  "src": "5402:10:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_TxReturn_$3045_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.TxReturn[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2993,
                "mutability": "mutable",
                "name": "timestamp",
                "nameLocation": "5440:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 2998,
                "src": "5432:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2992,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "5432:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2997,
                "mutability": "mutable",
                "name": "transactions",
                "nameLocation": "5471:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 2998,
                "src": "5459:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.RawTx1559[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2995,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2994,
                      "name": "RawTx1559",
                      "nameLocations": [
                        "5459:9:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2783,
                      "src": "5459:9:5"
                    },
                    "referencedDeclaration": 2783,
                    "src": "5459:9:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawTx1559_$2783_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559"
                    }
                  },
                  "id": 2996,
                  "nodeType": "ArrayTypeName",
                  "src": "5459:11:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559[]"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawEIP1559ScriptArtifact",
            "nameLocation": "5261:24:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 3020,
            "nodeType": "StructDefinition",
            "src": "5496:334:5",
            "canonicalName": "StdCheatsSafe.RawReceiptLog",
            "members": [
              {
                "constant": false,
                "id": 3000,
                "mutability": "mutable",
                "name": "logAddress",
                "nameLocation": "5567:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5559:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2999,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "5559:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3002,
                "mutability": "mutable",
                "name": "blockHash",
                "nameLocation": "5595:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5587:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 3001,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "5587:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3004,
                "mutability": "mutable",
                "name": "blockNumber",
                "nameLocation": "5620:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5614:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 3003,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5614:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3006,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "5647:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5641:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 3005,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5641:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3008,
                "mutability": "mutable",
                "name": "logIndex",
                "nameLocation": "5667:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5661:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 3007,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5661:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3010,
                "mutability": "mutable",
                "name": "removed",
                "nameLocation": "5690:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5685:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 3009,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "5685:4:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3013,
                "mutability": "mutable",
                "name": "topics",
                "nameLocation": "5717:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5707:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                  "typeString": "bytes32[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 3011,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5707:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 3012,
                  "nodeType": "ArrayTypeName",
                  "src": "5707:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                    "typeString": "bytes32[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3015,
                "mutability": "mutable",
                "name": "transactionHash",
                "nameLocation": "5741:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5733:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 3014,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "5733:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3017,
                "mutability": "mutable",
                "name": "transactionIndex",
                "nameLocation": "5772:16:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5766:22:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 3016,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5766:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3019,
                "mutability": "mutable",
                "name": "transactionLogIndex",
                "nameLocation": "5804:19:5",
                "nodeType": "VariableDeclaration",
                "scope": 3020,
                "src": "5798:25:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 3018,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5798:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawReceiptLog",
            "nameLocation": "5503:13:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 3040,
            "nodeType": "StructDefinition",
            "src": "5836:306:5",
            "canonicalName": "StdCheatsSafe.ReceiptLog",
            "members": [
              {
                "constant": false,
                "id": 3022,
                "mutability": "mutable",
                "name": "logAddress",
                "nameLocation": "5904:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "5896:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 3021,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "5896:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3024,
                "mutability": "mutable",
                "name": "blockHash",
                "nameLocation": "5932:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "5924:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 3023,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "5924:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3026,
                "mutability": "mutable",
                "name": "blockNumber",
                "nameLocation": "5959:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "5951:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 3025,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "5951:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3028,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "5986:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "5980:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 3027,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "5980:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3030,
                "mutability": "mutable",
                "name": "logIndex",
                "nameLocation": "6008:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "6000:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 3029,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "6000:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3033,
                "mutability": "mutable",
                "name": "topics",
                "nameLocation": "6036:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "6026:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                  "typeString": "bytes32[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 3031,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6026:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 3032,
                  "nodeType": "ArrayTypeName",
                  "src": "6026:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                    "typeString": "bytes32[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3035,
                "mutability": "mutable",
                "name": "transactionIndex",
                "nameLocation": "6060:16:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "6052:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 3034,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "6052:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3037,
                "mutability": "mutable",
                "name": "transactionLogIndex",
                "nameLocation": "6094:19:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "6086:27:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 3036,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "6086:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3039,
                "mutability": "mutable",
                "name": "removed",
                "nameLocation": "6128:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 3040,
                "src": "6123:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 3038,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "6123:4:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "ReceiptLog",
            "nameLocation": "5843:10:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 3045,
            "nodeType": "StructDefinition",
            "src": "6148:74:5",
            "canonicalName": "StdCheatsSafe.TxReturn",
            "members": [
              {
                "constant": false,
                "id": 3042,
                "mutability": "mutable",
                "name": "internalType",
                "nameLocation": "6181:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 3045,
                "src": "6174:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 3041,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "6174:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 3044,
                "mutability": "mutable",
                "name": "value",
                "nameLocation": "6210:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 3045,
                "src": "6203:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 3043,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "6203:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "TxReturn",
            "nameLocation": "6155:8:5",
            "scope": 4684,
            "visibility": "public"
          },
          {
            "id": 3413,
            "nodeType": "FunctionDefinition",
            "src": "6228:3879:5",
            "body": {
              "id": 3412,
              "nodeType": "Block",
              "src": "6278:3829:5",
              "statements": [
                {
                  "expression": {
                    "id": 3138,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 3050,
                      "name": "stdChains",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2766,
                      "src": "6341:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Chains_$2763_storage",
                        "typeString": "struct StdCheatsSafe.Chains storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "hexValue": "416e76696c",
                              "id": 3053,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6387:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4",
                                "typeString": "literal_string \"Anvil\""
                              },
                              "value": "Anvil"
                            },
                            {
                              "hexValue": "3331333337",
                              "id": 3054,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6396:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_31337_by_1",
                                "typeString": "int_const 31337"
                              },
                              "value": "31337"
                            },
                            {
                              "hexValue": "687474703a2f2f3132372e302e302e313a38353435",
                              "id": 3055,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6403:23:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0",
                                "typeString": "literal_string \"http://127.0.0.1:8545\""
                              },
                              "value": "http://127.0.0.1:8545"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4",
                                "typeString": "literal_string \"Anvil\""
                              },
                              {
                                "typeIdentifier": "t_rational_31337_by_1",
                                "typeString": "int_const 31337"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0",
                                "typeString": "literal_string \"http://127.0.0.1:8545\""
                              }
                            ],
                            "id": 3052,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "6381:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3056,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6381:46:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "48617264686174",
                              "id": 3058,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6456:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_586258927916cf0d904406d36da1f5f818494652192f6e9e71d4067756af388a",
                                "typeString": "literal_string \"Hardhat\""
                              },
                              "value": "Hardhat"
                            },
                            {
                              "hexValue": "3331333337",
                              "id": 3059,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6467:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_31337_by_1",
                                "typeString": "int_const 31337"
                              },
                              "value": "31337"
                            },
                            {
                              "hexValue": "687474703a2f2f3132372e302e302e313a38353435",
                              "id": 3060,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6474:23:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0",
                                "typeString": "literal_string \"http://127.0.0.1:8545\""
                              },
                              "value": "http://127.0.0.1:8545"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_586258927916cf0d904406d36da1f5f818494652192f6e9e71d4067756af388a",
                                "typeString": "literal_string \"Hardhat\""
                              },
                              {
                                "typeIdentifier": "t_rational_31337_by_1",
                                "typeString": "int_const 31337"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0",
                                "typeString": "literal_string \"http://127.0.0.1:8545\""
                              }
                            ],
                            "id": 3057,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "6450:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3061,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6450:48:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "4d61696e6e6574",
                              "id": 3063,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6527:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26",
                                "typeString": "literal_string \"Mainnet\""
                              },
                              "value": "Mainnet"
                            },
                            {
                              "hexValue": "31",
                              "id": 3064,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6538:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            {
                              "hexValue": "68747470733a2f2f6170692e6d7963727970746f6170692e636f6d2f657468",
                              "id": 3065,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6541:33:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_642d0dfd5be66fc0d93c6f4bdcf342230ac00c9a7eea5a03cf0e431c94556a8a",
                                "typeString": "literal_string \"https://api.mycryptoapi.com/eth\""
                              },
                              "value": "https://api.mycryptoapi.com/eth"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26",
                                "typeString": "literal_string \"Mainnet\""
                              },
                              {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_642d0dfd5be66fc0d93c6f4bdcf342230ac00c9a7eea5a03cf0e431c94556a8a",
                                "typeString": "literal_string \"https://api.mycryptoapi.com/eth\""
                              }
                            ],
                            "id": 3062,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "6521:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3066,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6521:54:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "476f65726c69",
                              "id": 3068,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6603:8:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e",
                                "typeString": "literal_string \"Goerli\""
                              },
                              "value": "Goerli"
                            },
                            {
                              "hexValue": "35",
                              "id": 3069,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6613:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_5_by_1",
                                "typeString": "int_const 5"
                              },
                              "value": "5"
                            },
                            {
                              "hexValue": "68747470733a2f2f676f65726c692e696e667572612e696f2f76332f3834383432303738623039393436363338633033313537663833343035323133",
                              "id": 3070,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6616:62:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c2d03e2021afc2d5d60147a3389a88cf92b3f908f6bb3983dd56ad3eccee2784",
                                "typeString": "literal_string \"https://goerli.infura.io/v3/84842078b09946638c03157f83405213\""
                              },
                              "value": "https://goerli.infura.io/v3/84842078b09946638c03157f83405213"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e",
                                "typeString": "literal_string \"Goerli\""
                              },
                              {
                                "typeIdentifier": "t_rational_5_by_1",
                                "typeString": "int_const 5"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_c2d03e2021afc2d5d60147a3389a88cf92b3f908f6bb3983dd56ad3eccee2784",
                                "typeString": "literal_string \"https://goerli.infura.io/v3/84842078b09946638c03157f83405213\""
                              }
                            ],
                            "id": 3067,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "6597:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3071,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6597:82:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "5365706f6c6961",
                              "id": 3073,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6876:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27",
                                "typeString": "literal_string \"Sepolia\""
                              },
                              "value": "Sepolia"
                            },
                            {
                              "hexValue": "3131313535313131",
                              "id": 3074,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6887:8:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_11155111_by_1",
                                "typeString": "int_const 11155111"
                              },
                              "value": "11155111"
                            },
                            {
                              "hexValue": "68747470733a2f2f7270632e7365706f6c69612e646576",
                              "id": 3075,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6897:25:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_e36469e9d6da385a975d561558a2cc6fd854a99901b2f285356c4d0070d0cd11",
                                "typeString": "literal_string \"https://rpc.sepolia.dev\""
                              },
                              "value": "https://rpc.sepolia.dev"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27",
                                "typeString": "literal_string \"Sepolia\""
                              },
                              {
                                "typeIdentifier": "t_rational_11155111_by_1",
                                "typeString": "int_const 11155111"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_e36469e9d6da385a975d561558a2cc6fd854a99901b2f285356c4d0070d0cd11",
                                "typeString": "literal_string \"https://rpc.sepolia.dev\""
                              }
                            ],
                            "id": 3072,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "6870:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3076,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6870:53:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "4f7074696d69736d",
                              "id": 3078,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6953:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec",
                                "typeString": "literal_string \"Optimism\""
                              },
                              "value": "Optimism"
                            },
                            {
                              "hexValue": "3130",
                              "id": 3079,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6965:2:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_10_by_1",
                                "typeString": "int_const 10"
                              },
                              "value": "10"
                            },
                            {
                              "hexValue": "68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f",
                              "id": 3080,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6969:29:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e",
                                "typeString": "literal_string \"https://mainnet.optimism.io\""
                              },
                              "value": "https://mainnet.optimism.io"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec",
                                "typeString": "literal_string \"Optimism\""
                              },
                              {
                                "typeIdentifier": "t_rational_10_by_1",
                                "typeString": "int_const 10"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e",
                                "typeString": "literal_string \"https://mainnet.optimism.io\""
                              }
                            ],
                            "id": 3077,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "6947:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3081,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6947:52:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "4f7074696d69736d476f65726c69",
                              "id": 3083,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7035:16:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_d9e83ba4223db8a023ae97eb487186dabb6dd9d99c932d6c6d55c3a871fd823b",
                                "typeString": "literal_string \"OptimismGoerli\""
                              },
                              "value": "OptimismGoerli"
                            },
                            {
                              "hexValue": "343230",
                              "id": 3084,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7053:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_420_by_1",
                                "typeString": "int_const 420"
                              },
                              "value": "420"
                            },
                            {
                              "hexValue": "68747470733a2f2f676f65726c692e6f7074696d69736d2e696f",
                              "id": 3085,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7058:28:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad",
                                "typeString": "literal_string \"https://goerli.optimism.io\""
                              },
                              "value": "https://goerli.optimism.io"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_d9e83ba4223db8a023ae97eb487186dabb6dd9d99c932d6c6d55c3a871fd823b",
                                "typeString": "literal_string \"OptimismGoerli\""
                              },
                              {
                                "typeIdentifier": "t_rational_420_by_1",
                                "typeString": "int_const 420"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad",
                                "typeString": "literal_string \"https://goerli.optimism.io\""
                              }
                            ],
                            "id": 3082,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7029:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3086,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7029:58:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "417262697472756d4f6e65",
                              "id": 3088,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7120:13:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_6df9caaa24d0aa87ccd61c51cb854d77d480b45159ae76ccd47b3ede5442512a",
                                "typeString": "literal_string \"ArbitrumOne\""
                              },
                              "value": "ArbitrumOne"
                            },
                            {
                              "hexValue": "3432313631",
                              "id": 3089,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7135:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_42161_by_1",
                                "typeString": "int_const 42161"
                              },
                              "value": "42161"
                            },
                            {
                              "hexValue": "68747470733a2f2f617262312e617262697472756d2e696f2f727063",
                              "id": 3090,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7142:30:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126",
                                "typeString": "literal_string \"https://arb1.arbitrum.io/rpc\""
                              },
                              "value": "https://arb1.arbitrum.io/rpc"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_6df9caaa24d0aa87ccd61c51cb854d77d480b45159ae76ccd47b3ede5442512a",
                                "typeString": "literal_string \"ArbitrumOne\""
                              },
                              {
                                "typeIdentifier": "t_rational_42161_by_1",
                                "typeString": "int_const 42161"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126",
                                "typeString": "literal_string \"https://arb1.arbitrum.io/rpc\""
                              }
                            ],
                            "id": 3087,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7114:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3091,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7114:59:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "417262697472756d4f6e65476f65726c69",
                              "id": 3093,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7212:19:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_a5b4956b999f35d4a20c70f00d0cedd04e295184a6fc63feee731ba560bf3905",
                                "typeString": "literal_string \"ArbitrumOneGoerli\""
                              },
                              "value": "ArbitrumOneGoerli"
                            },
                            {
                              "hexValue": "343231363133",
                              "id": 3094,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7233:6:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_421613_by_1",
                                "typeString": "int_const 421613"
                              },
                              "value": "421613"
                            },
                            {
                              "hexValue": "68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f727063",
                              "id": 3095,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7241:39:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea",
                                "typeString": "literal_string \"https://goerli-rollup.arbitrum.io/rpc\""
                              },
                              "value": "https://goerli-rollup.arbitrum.io/rpc"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_a5b4956b999f35d4a20c70f00d0cedd04e295184a6fc63feee731ba560bf3905",
                                "typeString": "literal_string \"ArbitrumOneGoerli\""
                              },
                              {
                                "typeIdentifier": "t_rational_421613_by_1",
                                "typeString": "int_const 421613"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea",
                                "typeString": "literal_string \"https://goerli-rollup.arbitrum.io/rpc\""
                              }
                            ],
                            "id": 3092,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7206:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3096,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7206:75:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "417262697472756d4e6f7661",
                              "id": 3098,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7315:14:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_13e73cab871f1c9e497ebd52b23be7e33059c34106c5972ca6d5442d7f6fd702",
                                "typeString": "literal_string \"ArbitrumNova\""
                              },
                              "value": "ArbitrumNova"
                            },
                            {
                              "hexValue": "3432313730",
                              "id": 3099,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7331:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_42170_by_1",
                                "typeString": "int_const 42170"
                              },
                              "value": "42170"
                            },
                            {
                              "hexValue": "68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063",
                              "id": 3100,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7338:30:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac",
                                "typeString": "literal_string \"https://nova.arbitrum.io/rpc\""
                              },
                              "value": "https://nova.arbitrum.io/rpc"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_13e73cab871f1c9e497ebd52b23be7e33059c34106c5972ca6d5442d7f6fd702",
                                "typeString": "literal_string \"ArbitrumNova\""
                              },
                              {
                                "typeIdentifier": "t_rational_42170_by_1",
                                "typeString": "int_const 42170"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac",
                                "typeString": "literal_string \"https://nova.arbitrum.io/rpc\""
                              }
                            ],
                            "id": 3097,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7309:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3101,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7309:60:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "506f6c79676f6e",
                              "id": 3103,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7398:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71",
                                "typeString": "literal_string \"Polygon\""
                              },
                              "value": "Polygon"
                            },
                            {
                              "hexValue": "313337",
                              "id": 3104,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7409:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_137_by_1",
                                "typeString": "int_const 137"
                              },
                              "value": "137"
                            },
                            {
                              "hexValue": "68747470733a2f2f706f6c79676f6e2d7270632e636f6d",
                              "id": 3105,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7414:25:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0",
                                "typeString": "literal_string \"https://polygon-rpc.com\""
                              },
                              "value": "https://polygon-rpc.com"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71",
                                "typeString": "literal_string \"Polygon\""
                              },
                              {
                                "typeIdentifier": "t_rational_137_by_1",
                                "typeString": "int_const 137"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0",
                                "typeString": "literal_string \"https://polygon-rpc.com\""
                              }
                            ],
                            "id": 3102,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7392:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3106,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7392:48:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "506f6c79676f6e4d756d626169",
                              "id": 3108,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7475:15:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_b679d1334e201410faae95031e02547ebf38762fd30bbdb02e972f9620e68b0c",
                                "typeString": "literal_string \"PolygonMumbai\""
                              },
                              "value": "PolygonMumbai"
                            },
                            {
                              "hexValue": "3830303031",
                              "id": 3109,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7492:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_80001_by_1",
                                "typeString": "int_const 80001"
                              },
                              "value": "80001"
                            },
                            {
                              "hexValue": "68747470733a2f2f7270632d6d756d6261692e6d617469632e746f646179",
                              "id": 3110,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7499:32:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f106af479a6c11cecfa2b74ea0e8c7e413c6e6ff201ebf6b50d3261e370192f7",
                                "typeString": "literal_string \"https://rpc-mumbai.matic.today\""
                              },
                              "value": "https://rpc-mumbai.matic.today"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_b679d1334e201410faae95031e02547ebf38762fd30bbdb02e972f9620e68b0c",
                                "typeString": "literal_string \"PolygonMumbai\""
                              },
                              {
                                "typeIdentifier": "t_rational_80001_by_1",
                                "typeString": "int_const 80001"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_f106af479a6c11cecfa2b74ea0e8c7e413c6e6ff201ebf6b50d3261e370192f7",
                                "typeString": "literal_string \"https://rpc-mumbai.matic.today\""
                              }
                            ],
                            "id": 3107,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7469:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3111,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7469:63:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "4176616c616e636865",
                              "id": 3113,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7563:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40",
                                "typeString": "literal_string \"Avalanche\""
                              },
                              "value": "Avalanche"
                            },
                            {
                              "hexValue": "3433313134",
                              "id": 3114,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7576:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_43114_by_1",
                                "typeString": "int_const 43114"
                              },
                              "value": "43114"
                            },
                            {
                              "hexValue": "68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063",
                              "id": 3115,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7583:39:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a",
                                "typeString": "literal_string \"https://api.avax.network/ext/bc/C/rpc\""
                              },
                              "value": "https://api.avax.network/ext/bc/C/rpc"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40",
                                "typeString": "literal_string \"Avalanche\""
                              },
                              {
                                "typeIdentifier": "t_rational_43114_by_1",
                                "typeString": "int_const 43114"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a",
                                "typeString": "literal_string \"https://api.avax.network/ext/bc/C/rpc\""
                              }
                            ],
                            "id": 3112,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7557:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3116,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7557:66:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "4176616c616e63686546756a69",
                              "id": 3118,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7658:15:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_fdf69378c46b8ff891cba7e67a64ab16528e8dd2967a6899493af515997356c9",
                                "typeString": "literal_string \"AvalancheFuji\""
                              },
                              "value": "AvalancheFuji"
                            },
                            {
                              "hexValue": "3433313133",
                              "id": 3119,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7675:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_43113_by_1",
                                "typeString": "int_const 43113"
                              },
                              "value": "43113"
                            },
                            {
                              "hexValue": "68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063",
                              "id": 3120,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7682:44:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d",
                                "typeString": "literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""
                              },
                              "value": "https://api.avax-test.network/ext/bc/C/rpc"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_fdf69378c46b8ff891cba7e67a64ab16528e8dd2967a6899493af515997356c9",
                                "typeString": "literal_string \"AvalancheFuji\""
                              },
                              {
                                "typeIdentifier": "t_rational_43113_by_1",
                                "typeString": "int_const 43113"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d",
                                "typeString": "literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""
                              }
                            ],
                            "id": 3117,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7652:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3121,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7652:75:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "426e62536d617274436861696e",
                              "id": 3123,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7762:15:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_d4fe9019651d2cbc3862fc4674c442a483623b82a7dce2ac7c28138180d528c5",
                                "typeString": "literal_string \"BnbSmartChain\""
                              },
                              "value": "BnbSmartChain"
                            },
                            {
                              "hexValue": "3536",
                              "id": 3124,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7779:2:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_56_by_1",
                                "typeString": "int_const 56"
                              },
                              "value": "56"
                            },
                            {
                              "hexValue": "68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267",
                              "id": 3125,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7783:35:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719",
                                "typeString": "literal_string \"https://bsc-dataseed1.binance.org\""
                              },
                              "value": "https://bsc-dataseed1.binance.org"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_d4fe9019651d2cbc3862fc4674c442a483623b82a7dce2ac7c28138180d528c5",
                                "typeString": "literal_string \"BnbSmartChain\""
                              },
                              {
                                "typeIdentifier": "t_rational_56_by_1",
                                "typeString": "int_const 56"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719",
                                "typeString": "literal_string \"https://bsc-dataseed1.binance.org\""
                              }
                            ],
                            "id": 3122,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7756:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3126,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7756:63:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "426e62536d617274436861696e546573746e6574",
                              "id": 3128,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7861:22:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c6b8390686af629e8bd6173ee298c65730bbac6941fb18507d79305cdc961824",
                                "typeString": "literal_string \"BnbSmartChainTestnet\""
                              },
                              "value": "BnbSmartChainTestnet"
                            },
                            {
                              "hexValue": "3937",
                              "id": 3129,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7885:2:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_97_by_1",
                                "typeString": "int_const 97"
                              },
                              "value": "97"
                            },
                            {
                              "hexValue": "68747470733a2f2f646174612d736565642d7072656273632d312d73312e62696e616e63652e6f72673a38353435",
                              "id": 3130,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7889:48:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_06894ce500210f386acd0844767c4ae19c623595ce2845e4d185bcd99fc926dc",
                                "typeString": "literal_string \"https://data-seed-prebsc-1-s1.binance.org:8545\""
                              },
                              "value": "https://data-seed-prebsc-1-s1.binance.org:8545"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_c6b8390686af629e8bd6173ee298c65730bbac6941fb18507d79305cdc961824",
                                "typeString": "literal_string \"BnbSmartChainTestnet\""
                              },
                              {
                                "typeIdentifier": "t_rational_97_by_1",
                                "typeString": "int_const 97"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_06894ce500210f386acd0844767c4ae19c623595ce2845e4d185bcd99fc926dc",
                                "typeString": "literal_string \"https://data-seed-prebsc-1-s1.binance.org:8545\""
                              }
                            ],
                            "id": 3127,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7855:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3131,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7855:83:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "476e6f736973436861696e",
                              "id": 3133,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7971:13:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_589ad15416facb73658c8b7c701776721413377d931b9f2915448613d693ae89",
                                "typeString": "literal_string \"GnosisChain\""
                              },
                              "value": "GnosisChain"
                            },
                            {
                              "hexValue": "313030",
                              "id": 3134,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7986:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_100_by_1",
                                "typeString": "int_const 100"
                              },
                              "value": "100"
                            },
                            {
                              "hexValue": "68747470733a2f2f7270632e676e6f736973636861696e2e636f6d",
                              "id": 3135,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "7991:29:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df",
                                "typeString": "literal_string \"https://rpc.gnosischain.com\""
                              },
                              "value": "https://rpc.gnosischain.com"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_589ad15416facb73658c8b7c701776721413377d931b9f2915448613d693ae89",
                                "typeString": "literal_string \"GnosisChain\""
                              },
                              {
                                "typeIdentifier": "t_rational_100_by_1",
                                "typeString": "int_const 100"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df",
                                "typeString": "literal_string \"https://rpc.gnosischain.com\""
                              }
                            ],
                            "id": 3132,
                            "name": "Chain",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2711,
                            "src": "7965:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Chain_$2711_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.Chain storage pointer)"
                            }
                          },
                          "id": 3136,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7965:56:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Chain_$2711_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Chain memory"
                          }
                        ],
                        "id": 3051,
                        "name": "Chains",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2763,
                        "src": "6353:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Chains_$2763_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.Chains storage pointer)"
                        }
                      },
                      "id": 3137,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "nameLocations": [
                        "6374:5:5",
                        "6441:7:5",
                        "6512:7:5",
                        "6589:6:5",
                        "6861:7:5",
                        "6937:8:5",
                        "7013:14:5",
                        "7101:11:5",
                        "7187:17:5",
                        "7295:12:5",
                        "7383:7:5",
                        "7454:13:5",
                        "7546:9:5",
                        "7637:13:5",
                        "7741:13:5",
                        "7833:20:5",
                        "7952:11:5"
                      ],
                      "names": [
                        "Anvil",
                        "Hardhat",
                        "Mainnet",
                        "Goerli",
                        "Sepolia",
                        "Optimism",
                        "OptimismGoerli",
                        "ArbitrumOne",
                        "ArbitrumOneGoerli",
                        "ArbitrumNova",
                        "Polygon",
                        "PolygonMumbai",
                        "Avalanche",
                        "AvalancheFuji",
                        "BnbSmartChain",
                        "BnbSmartChainTestnet",
                        "GnosisChain"
                      ],
                      "nodeType": "FunctionCall",
                      "src": "6353:1679:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Chains_$2763_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Chains memory"
                      }
                    },
                    "src": "6341:1691:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Chains_$2763_storage",
                      "typeString": "struct StdCheatsSafe.Chains storage ref"
                    }
                  },
                  "id": 3139,
                  "nodeType": "ExpressionStatement",
                  "src": "6341:1691:5"
                },
                {
                  "assignments": [
                    3146
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3146,
                      "mutability": "mutable",
                      "name": "rpcs",
                      "nameLocation": "8144:4:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3412,
                      "src": "8125:23:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string[2][]"
                      },
                      "typeName": {
                        "baseType": {
                          "baseType": {
                            "id": 3143,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "8125:6:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage_ptr",
                              "typeString": "string"
                            }
                          },
                          "id": 3144,
                          "length": {
                            "hexValue": "32",
                            "id": 3142,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "8132:1:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_2_by_1",
                              "typeString": "int_const 2"
                            },
                            "value": "2"
                          },
                          "nodeType": "ArrayTypeName",
                          "src": "8125:9:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_storage_$2_storage_ptr",
                            "typeString": "string[2]"
                          }
                        },
                        "id": 3145,
                        "nodeType": "ArrayTypeName",
                        "src": "8125:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr",
                          "typeString": "string[2][]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3150,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 3147,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "8152:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 3148,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8155:7:5",
                      "memberName": "rpcUrls",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7984,
                      "src": "8152:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function () external returns (string memory[2] memory[] memory)"
                      }
                    },
                    "id": 3149,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8152:12:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[2] memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8124:40:5"
                },
                {
                  "body": {
                    "id": 3408,
                    "nodeType": "Block",
                    "src": "8216:1867:5",
                    "statements": [
                      {
                        "assignments": [
                          3163,
                          3165
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 3163,
                            "mutability": "mutable",
                            "name": "name",
                            "nameLocation": "8245:4:5",
                            "nodeType": "VariableDeclaration",
                            "scope": 3408,
                            "src": "8231:18:5",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3162,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "8231:6:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          },
                          {
                            "constant": false,
                            "id": 3165,
                            "mutability": "mutable",
                            "name": "rpcUrl",
                            "nameLocation": "8265:6:5",
                            "nodeType": "VariableDeclaration",
                            "scope": 3408,
                            "src": "8251:20:5",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 3164,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "8251:6:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 3177,
                        "initialValue": {
                          "components": [
                            {
                              "baseExpression": {
                                "baseExpression": {
                                  "id": 3166,
                                  "name": "rpcs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3146,
                                  "src": "8276:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "string memory[2] memory[] memory"
                                  }
                                },
                                "id": 3168,
                                "indexExpression": {
                                  "id": 3167,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3152,
                                  "src": "8281:1:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "8276:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr",
                                  "typeString": "string memory[2] memory"
                                }
                              },
                              "id": 3170,
                              "indexExpression": {
                                "hexValue": "30",
                                "id": 3169,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8284:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "8276:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "baseExpression": {
                                "baseExpression": {
                                  "id": 3171,
                                  "name": "rpcs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3146,
                                  "src": "8288:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "string memory[2] memory[] memory"
                                  }
                                },
                                "id": 3173,
                                "indexExpression": {
                                  "id": 3172,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3152,
                                  "src": "8293:1:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "8288:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr",
                                  "typeString": "string memory[2] memory"
                                }
                              },
                              "id": 3175,
                              "indexExpression": {
                                "hexValue": "31",
                                "id": 3174,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8296:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "8288:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "id": 3176,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "8275:24:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$",
                            "typeString": "tuple(string memory,string memory)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "8230:69:5"
                      },
                      {
                        "condition": {
                          "arguments": [
                            {
                              "id": 3179,
                              "name": "name",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3163,
                              "src": "8364:4:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "hexValue": "616e76696c",
                              "id": 3180,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "8370:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b",
                                "typeString": "literal_string \"anvil\""
                              },
                              "value": "anvil"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b",
                                "typeString": "literal_string \"anvil\""
                              }
                            ],
                            "id": 3178,
                            "name": "isEqual",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              3437,
                              3477
                            ],
                            "referencedDeclaration": 3437,
                            "src": "8356:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory,string memory) pure returns (bool)"
                            }
                          },
                          "id": 3181,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8356:22:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "arguments": [
                              {
                                "id": 3191,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3163,
                                "src": "8442:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "hexValue": "68617264686174",
                                "id": 3192,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8448:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_41d010e4d55c1f680ac8d1df51d62770f05ab44e7687503f884ef0629dbf7ab0",
                                  "typeString": "literal_string \"hardhat\""
                                },
                                "value": "hardhat"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_41d010e4d55c1f680ac8d1df51d62770f05ab44e7687503f884ef0629dbf7ab0",
                                  "typeString": "literal_string \"hardhat\""
                                }
                              ],
                              "id": 3190,
                              "name": "isEqual",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                3437,
                                3477
                              ],
                              "referencedDeclaration": 3437,
                              "src": "8434:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                "typeString": "function (string memory,string memory) pure returns (bool)"
                              }
                            },
                            "id": 3193,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8434:24:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "condition": {
                              "arguments": [
                                {
                                  "id": 3203,
                                  "name": "name",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3163,
                                  "src": "8524:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                {
                                  "hexValue": "6d61696e6e6574",
                                  "id": 3204,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "8530:9:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff",
                                    "typeString": "literal_string \"mainnet\""
                                  },
                                  "value": "mainnet"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  },
                                  {
                                    "typeIdentifier": "t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff",
                                    "typeString": "literal_string \"mainnet\""
                                  }
                                ],
                                "id": 3202,
                                "name": "isEqual",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  3437,
                                  3477
                                ],
                                "referencedDeclaration": 3437,
                                "src": "8516:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                  "typeString": "function (string memory,string memory) pure returns (bool)"
                                }
                              },
                              "id": 3205,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "8516:24:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseBody": {
                              "condition": {
                                "arguments": [
                                  {
                                    "id": 3215,
                                    "name": "name",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3163,
                                    "src": "8606:4:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  {
                                    "hexValue": "676f65726c69",
                                    "id": 3216,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "8612:8:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a",
                                      "typeString": "literal_string \"goerli\""
                                    },
                                    "value": "goerli"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a",
                                      "typeString": "literal_string \"goerli\""
                                    }
                                  ],
                                  "id": 3214,
                                  "name": "isEqual",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    3437,
                                    3477
                                  ],
                                  "referencedDeclaration": 3437,
                                  "src": "8598:7:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                    "typeString": "function (string memory,string memory) pure returns (bool)"
                                  }
                                },
                                "id": 3217,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "8598:23:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "condition": {
                                  "arguments": [
                                    {
                                      "id": 3227,
                                      "name": "name",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3163,
                                      "src": "8686:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "hexValue": "7365706f6c6961",
                                      "id": 3228,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "8692:9:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a",
                                        "typeString": "literal_string \"sepolia\""
                                      },
                                      "value": "sepolia"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a",
                                        "typeString": "literal_string \"sepolia\""
                                      }
                                    ],
                                    "id": 3226,
                                    "name": "isEqual",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      3437,
                                      3477
                                    ],
                                    "referencedDeclaration": 3437,
                                    "src": "8678:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                      "typeString": "function (string memory,string memory) pure returns (bool)"
                                    }
                                  },
                                  "id": 3229,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "8678:24:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseBody": {
                                  "condition": {
                                    "arguments": [
                                      {
                                        "id": 3239,
                                        "name": "name",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 3163,
                                        "src": "8768:4:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      {
                                        "hexValue": "6f7074696d69736d",
                                        "id": 3240,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "8774:10:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05",
                                          "typeString": "literal_string \"optimism\""
                                        },
                                        "value": "optimism"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        },
                                        {
                                          "typeIdentifier": "t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05",
                                          "typeString": "literal_string \"optimism\""
                                        }
                                      ],
                                      "id": 3238,
                                      "name": "isEqual",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [
                                        3437,
                                        3477
                                      ],
                                      "referencedDeclaration": 3437,
                                      "src": "8760:7:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                        "typeString": "function (string memory,string memory) pure returns (bool)"
                                      }
                                    },
                                    "id": 3241,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "8760:25:5",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "falseBody": {
                                    "condition": {
                                      "arguments": [
                                        {
                                          "id": 3251,
                                          "name": "name",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 3163,
                                          "src": "8852:4:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        {
                                          "hexValue": "6f7074696d69736d5f676f65726c69",
                                          "id": 3252,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "8858:17:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c",
                                            "typeString": "literal_string \"optimism_goerli\""
                                          },
                                          "value": "optimism_goerli"
                                        },
                                        {
                                          "hexValue": "6f7074696d69736d2d676f65726c69",
                                          "id": 3253,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "8877:17:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_d68b5da1d2df2dbe4764ed9e76bdeb201ef1878643e994b3a46689de6ddf2672",
                                            "typeString": "literal_string \"optimism-goerli\""
                                          },
                                          "value": "optimism-goerli"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          },
                                          {
                                            "typeIdentifier": "t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c",
                                            "typeString": "literal_string \"optimism_goerli\""
                                          },
                                          {
                                            "typeIdentifier": "t_stringliteral_d68b5da1d2df2dbe4764ed9e76bdeb201ef1878643e994b3a46689de6ddf2672",
                                            "typeString": "literal_string \"optimism-goerli\""
                                          }
                                        ],
                                        "id": 3250,
                                        "name": "isEqual",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [
                                          3437,
                                          3477
                                        ],
                                        "referencedDeclaration": 3477,
                                        "src": "8844:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                          "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                        }
                                      },
                                      "id": 3254,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "8844:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "falseBody": {
                                      "condition": {
                                        "arguments": [
                                          {
                                            "id": 3264,
                                            "name": "name",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3163,
                                            "src": "8968:4:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          {
                                            "hexValue": "617262697472756d5f6f6e65",
                                            "id": 3265,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "8974:14:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4",
                                              "typeString": "literal_string \"arbitrum_one\""
                                            },
                                            "value": "arbitrum_one"
                                          },
                                          {
                                            "hexValue": "617262697472756d2d6f6e65",
                                            "id": 3266,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "8990:14:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_stringliteral_5c0fe22876ca849b8468b279a80ab02e01b5927ecd890a0e70c39380fa1d9b88",
                                              "typeString": "literal_string \"arbitrum-one\""
                                            },
                                            "value": "arbitrum-one"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            },
                                            {
                                              "typeIdentifier": "t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4",
                                              "typeString": "literal_string \"arbitrum_one\""
                                            },
                                            {
                                              "typeIdentifier": "t_stringliteral_5c0fe22876ca849b8468b279a80ab02e01b5927ecd890a0e70c39380fa1d9b88",
                                              "typeString": "literal_string \"arbitrum-one\""
                                            }
                                          ],
                                          "id": 3263,
                                          "name": "isEqual",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [
                                            3437,
                                            3477
                                          ],
                                          "referencedDeclaration": 3477,
                                          "src": "8960:7:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                            "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                          }
                                        },
                                        "id": 3267,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8960:45:5",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      },
                                      "falseBody": {
                                        "condition": {
                                          "arguments": [
                                            {
                                              "id": 3277,
                                              "name": "name",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 3163,
                                              "src": "9075:4:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            },
                                            {
                                              "hexValue": "617262697472756d5f6f6e655f676f65726c69",
                                              "id": 3278,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "string",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "9081:21:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4",
                                                "typeString": "literal_string \"arbitrum_one_goerli\""
                                              },
                                              "value": "arbitrum_one_goerli"
                                            },
                                            {
                                              "hexValue": "617262697472756d2d6f6e652d676f65726c69",
                                              "id": 3279,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "string",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "9104:21:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_stringliteral_3e7ef79dc818f58845fdbe1d5ebeafa39e4565fbfca7e1fc93bcda3fa9bd367e",
                                                "typeString": "literal_string \"arbitrum-one-goerli\""
                                              },
                                              "value": "arbitrum-one-goerli"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              },
                                              {
                                                "typeIdentifier": "t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4",
                                                "typeString": "literal_string \"arbitrum_one_goerli\""
                                              },
                                              {
                                                "typeIdentifier": "t_stringliteral_3e7ef79dc818f58845fdbe1d5ebeafa39e4565fbfca7e1fc93bcda3fa9bd367e",
                                                "typeString": "literal_string \"arbitrum-one-goerli\""
                                              }
                                            ],
                                            "id": 3276,
                                            "name": "isEqual",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                              3437,
                                              3477
                                            ],
                                            "referencedDeclaration": 3477,
                                            "src": "9067:7:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                              "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                            }
                                          },
                                          "id": 3280,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "9067:59:5",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                          }
                                        },
                                        "falseBody": {
                                          "condition": {
                                            "arguments": [
                                              {
                                                "id": 3290,
                                                "name": "name",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3163,
                                                "src": "9202:4:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              },
                                              {
                                                "hexValue": "617262697472756d5f6e6f7661",
                                                "id": 3291,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "9208:15:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac",
                                                  "typeString": "literal_string \"arbitrum_nova\""
                                                },
                                                "value": "arbitrum_nova"
                                              },
                                              {
                                                "hexValue": "617262697472756d2d6e6f7661",
                                                "id": 3292,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "9225:15:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_stringliteral_e520ee08b2577ac8be4e654f7d92e8715f162ac40a35c745c50be017a9eb8a06",
                                                  "typeString": "literal_string \"arbitrum-nova\""
                                                },
                                                "value": "arbitrum-nova"
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                },
                                                {
                                                  "typeIdentifier": "t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac",
                                                  "typeString": "literal_string \"arbitrum_nova\""
                                                },
                                                {
                                                  "typeIdentifier": "t_stringliteral_e520ee08b2577ac8be4e654f7d92e8715f162ac40a35c745c50be017a9eb8a06",
                                                  "typeString": "literal_string \"arbitrum-nova\""
                                                }
                                              ],
                                              "id": 3289,
                                              "name": "isEqual",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [
                                                3437,
                                                3477
                                              ],
                                              "referencedDeclaration": 3477,
                                              "src": "9194:7:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                              }
                                            },
                                            "id": 3293,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "9194:47:5",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bool",
                                              "typeString": "bool"
                                            }
                                          },
                                          "falseBody": {
                                            "condition": {
                                              "arguments": [
                                                {
                                                  "id": 3303,
                                                  "name": "name",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 3163,
                                                  "src": "9312:4:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                },
                                                {
                                                  "hexValue": "706f6c79676f6e",
                                                  "id": 3304,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "kind": "string",
                                                  "lValueRequested": false,
                                                  "nodeType": "Literal",
                                                  "src": "9318:9:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408",
                                                    "typeString": "literal_string \"polygon\""
                                                  },
                                                  "value": "polygon"
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408",
                                                    "typeString": "literal_string \"polygon\""
                                                  }
                                                ],
                                                "id": 3302,
                                                "name": "isEqual",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [
                                                  3437,
                                                  3477
                                                ],
                                                "referencedDeclaration": 3437,
                                                "src": "9304:7:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                  "typeString": "function (string memory,string memory) pure returns (bool)"
                                                }
                                              },
                                              "id": 3305,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "9304:24:5",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                              }
                                            },
                                            "falseBody": {
                                              "condition": {
                                                "arguments": [
                                                  {
                                                    "id": 3315,
                                                    "name": "name",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3163,
                                                    "src": "9394:4:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_string_memory_ptr",
                                                      "typeString": "string memory"
                                                    }
                                                  },
                                                  {
                                                    "hexValue": "706f6c79676f6e5f6d756d626169",
                                                    "id": 3316,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "9400:16:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0",
                                                      "typeString": "literal_string \"polygon_mumbai\""
                                                    },
                                                    "value": "polygon_mumbai"
                                                  },
                                                  {
                                                    "hexValue": "706f6c79676f6e2d6d756d626169",
                                                    "id": 3317,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "9418:16:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_stringliteral_d4ba5060ac26b70957e2b8e70e404ab62930e333eae52a8a727b41630a82ffb8",
                                                      "typeString": "literal_string \"polygon-mumbai\""
                                                    },
                                                    "value": "polygon-mumbai"
                                                  }
                                                ],
                                                "expression": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_string_memory_ptr",
                                                      "typeString": "string memory"
                                                    },
                                                    {
                                                      "typeIdentifier": "t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0",
                                                      "typeString": "literal_string \"polygon_mumbai\""
                                                    },
                                                    {
                                                      "typeIdentifier": "t_stringliteral_d4ba5060ac26b70957e2b8e70e404ab62930e333eae52a8a727b41630a82ffb8",
                                                      "typeString": "literal_string \"polygon-mumbai\""
                                                    }
                                                  ],
                                                  "id": 3314,
                                                  "name": "isEqual",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [
                                                    3437,
                                                    3477
                                                  ],
                                                  "referencedDeclaration": 3477,
                                                  "src": "9386:7:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                    "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                                  }
                                                },
                                                "id": 3318,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "nameLocations": [],
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9386:49:5",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bool",
                                                  "typeString": "bool"
                                                }
                                              },
                                              "falseBody": {
                                                "condition": {
                                                  "arguments": [
                                                    {
                                                      "id": 3328,
                                                      "name": "name",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 3163,
                                                      "src": "9507:4:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_string_memory_ptr",
                                                        "typeString": "string memory"
                                                      }
                                                    },
                                                    {
                                                      "hexValue": "6176616c616e636865",
                                                      "id": 3329,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "kind": "string",
                                                      "lValueRequested": false,
                                                      "nodeType": "Literal",
                                                      "src": "9513:11:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55",
                                                        "typeString": "literal_string \"avalanche\""
                                                      },
                                                      "value": "avalanche"
                                                    }
                                                  ],
                                                  "expression": {
                                                    "argumentTypes": [
                                                      {
                                                        "typeIdentifier": "t_string_memory_ptr",
                                                        "typeString": "string memory"
                                                      },
                                                      {
                                                        "typeIdentifier": "t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55",
                                                        "typeString": "literal_string \"avalanche\""
                                                      }
                                                    ],
                                                    "id": 3327,
                                                    "name": "isEqual",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [
                                                      3437,
                                                      3477
                                                    ],
                                                    "referencedDeclaration": 3437,
                                                    "src": "9499:7:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                      "typeString": "function (string memory,string memory) pure returns (bool)"
                                                    }
                                                  },
                                                  "id": 3330,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "kind": "functionCall",
                                                  "lValueRequested": false,
                                                  "nameLocations": [],
                                                  "names": [],
                                                  "nodeType": "FunctionCall",
                                                  "src": "9499:26:5",
                                                  "tryCall": false,
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                  }
                                                },
                                                "falseBody": {
                                                  "condition": {
                                                    "arguments": [
                                                      {
                                                        "id": 3340,
                                                        "name": "name",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3163,
                                                        "src": "9593:4:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_string_memory_ptr",
                                                          "typeString": "string memory"
                                                        }
                                                      },
                                                      {
                                                        "hexValue": "6176616c616e6368655f66756a69",
                                                        "id": 3341,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9599:16:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692",
                                                          "typeString": "literal_string \"avalanche_fuji\""
                                                        },
                                                        "value": "avalanche_fuji"
                                                      },
                                                      {
                                                        "hexValue": "6176616c616e6368652d66756a69",
                                                        "id": 3342,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9617:16:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_stringliteral_563fae2db16567e7c8de7ab296c24bee337018b6040b5ac271d22d493a2fb29a",
                                                          "typeString": "literal_string \"avalanche-fuji\""
                                                        },
                                                        "value": "avalanche-fuji"
                                                      }
                                                    ],
                                                    "expression": {
                                                      "argumentTypes": [
                                                        {
                                                          "typeIdentifier": "t_string_memory_ptr",
                                                          "typeString": "string memory"
                                                        },
                                                        {
                                                          "typeIdentifier": "t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692",
                                                          "typeString": "literal_string \"avalanche_fuji\""
                                                        },
                                                        {
                                                          "typeIdentifier": "t_stringliteral_563fae2db16567e7c8de7ab296c24bee337018b6040b5ac271d22d493a2fb29a",
                                                          "typeString": "literal_string \"avalanche-fuji\""
                                                        }
                                                      ],
                                                      "id": 3339,
                                                      "name": "isEqual",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [
                                                        3437,
                                                        3477
                                                      ],
                                                      "referencedDeclaration": 3477,
                                                      "src": "9585:7:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                        "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                                      }
                                                    },
                                                    "id": 3343,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "nameLocations": [],
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "9585:49:5",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_bool",
                                                      "typeString": "bool"
                                                    }
                                                  },
                                                  "falseBody": {
                                                    "condition": {
                                                      "arguments": [
                                                        {
                                                          "id": 3353,
                                                          "name": "name",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 3163,
                                                          "src": "9706:4:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                          }
                                                        },
                                                        {
                                                          "hexValue": "626e625f736d6172745f636861696e",
                                                          "id": 3354,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "kind": "string",
                                                          "lValueRequested": false,
                                                          "nodeType": "Literal",
                                                          "src": "9712:17:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e",
                                                            "typeString": "literal_string \"bnb_smart_chain\""
                                                          },
                                                          "value": "bnb_smart_chain"
                                                        },
                                                        {
                                                          "hexValue": "626e622d736d6172742d636861696e",
                                                          "id": 3355,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "kind": "string",
                                                          "lValueRequested": false,
                                                          "nodeType": "Literal",
                                                          "src": "9731:17:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cb542230e53a4ffc48d33ce19295cce7f9000dbfcd3dd12a9b1e152eb1f2c90a",
                                                            "typeString": "literal_string \"bnb-smart-chain\""
                                                          },
                                                          "value": "bnb-smart-chain"
                                                        }
                                                      ],
                                                      "expression": {
                                                        "argumentTypes": [
                                                          {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                          },
                                                          {
                                                            "typeIdentifier": "t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e",
                                                            "typeString": "literal_string \"bnb_smart_chain\""
                                                          },
                                                          {
                                                            "typeIdentifier": "t_stringliteral_cb542230e53a4ffc48d33ce19295cce7f9000dbfcd3dd12a9b1e152eb1f2c90a",
                                                            "typeString": "literal_string \"bnb-smart-chain\""
                                                          }
                                                        ],
                                                        "id": 3352,
                                                        "name": "isEqual",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [
                                                          3437,
                                                          3477
                                                        ],
                                                        "referencedDeclaration": 3477,
                                                        "src": "9698:7:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                          "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                                        }
                                                      },
                                                      "id": 3356,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "kind": "functionCall",
                                                      "lValueRequested": false,
                                                      "nameLocations": [],
                                                      "names": [],
                                                      "nodeType": "FunctionCall",
                                                      "src": "9698:51:5",
                                                      "tryCall": false,
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                      }
                                                    },
                                                    "falseBody": {
                                                      "condition": {
                                                        "arguments": [
                                                          {
                                                            "id": 3366,
                                                            "name": "name",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3163,
                                                            "src": "9821:4:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_string_memory_ptr",
                                                              "typeString": "string memory"
                                                            }
                                                          },
                                                          {
                                                            "hexValue": "626e625f736d6172745f636861696e5f746573746e6574",
                                                            "id": 3367,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "9827:25:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29",
                                                              "typeString": "literal_string \"bnb_smart_chain_testnet\""
                                                            },
                                                            "value": "bnb_smart_chain_testnet"
                                                          },
                                                          {
                                                            "hexValue": "626e622d736d6172742d636861696e2d746573746e6574",
                                                            "id": 3368,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "9854:25:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_stringliteral_16de182b04188fa3afc72806ce6c2f0c8ad4b079f90da09319c4a2e7506f403f",
                                                              "typeString": "literal_string \"bnb-smart-chain-testnet\""
                                                            },
                                                            "value": "bnb-smart-chain-testnet"
                                                          }
                                                        ],
                                                        "expression": {
                                                          "argumentTypes": [
                                                            {
                                                              "typeIdentifier": "t_string_memory_ptr",
                                                              "typeString": "string memory"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29",
                                                              "typeString": "literal_string \"bnb_smart_chain_testnet\""
                                                            },
                                                            {
                                                              "typeIdentifier": "t_stringliteral_16de182b04188fa3afc72806ce6c2f0c8ad4b079f90da09319c4a2e7506f403f",
                                                              "typeString": "literal_string \"bnb-smart-chain-testnet\""
                                                            }
                                                          ],
                                                          "id": 3365,
                                                          "name": "isEqual",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [
                                                            3437,
                                                            3477
                                                          ],
                                                          "referencedDeclaration": 3477,
                                                          "src": "9813:7:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                            "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                                          }
                                                        },
                                                        "id": 3369,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "nameLocations": [],
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "9813:67:5",
                                                        "tryCall": false,
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_bool",
                                                          "typeString": "bool"
                                                        }
                                                      },
                                                      "falseBody": {
                                                        "condition": {
                                                          "arguments": [
                                                            {
                                                              "id": 3379,
                                                              "name": "name",
                                                              "nodeType": "Identifier",
                                                              "overloadedDeclarations": [],
                                                              "referencedDeclaration": 3163,
                                                              "src": "9959:4:5",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_string_memory_ptr",
                                                                "typeString": "string memory"
                                                              }
                                                            },
                                                            {
                                                              "hexValue": "676e6f7369735f636861696e",
                                                              "id": 3380,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "kind": "string",
                                                              "lValueRequested": false,
                                                              "nodeType": "Literal",
                                                              "src": "9965:14:5",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595",
                                                                "typeString": "literal_string \"gnosis_chain\""
                                                              },
                                                              "value": "gnosis_chain"
                                                            },
                                                            {
                                                              "hexValue": "676e6f7369732d636861696e",
                                                              "id": 3381,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "kind": "string",
                                                              "lValueRequested": false,
                                                              "nodeType": "Literal",
                                                              "src": "9981:14:5",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_aaa0352933f7ca2ff9f89ab88e70b00bef753b85c8ceac462339fb3928bd7531",
                                                                "typeString": "literal_string \"gnosis-chain\""
                                                              },
                                                              "value": "gnosis-chain"
                                                            }
                                                          ],
                                                          "expression": {
                                                            "argumentTypes": [
                                                              {
                                                                "typeIdentifier": "t_string_memory_ptr",
                                                                "typeString": "string memory"
                                                              },
                                                              {
                                                                "typeIdentifier": "t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595",
                                                                "typeString": "literal_string \"gnosis_chain\""
                                                              },
                                                              {
                                                                "typeIdentifier": "t_stringliteral_aaa0352933f7ca2ff9f89ab88e70b00bef753b85c8ceac462339fb3928bd7531",
                                                                "typeString": "literal_string \"gnosis-chain\""
                                                              }
                                                            ],
                                                            "id": 3378,
                                                            "name": "isEqual",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [
                                                              3437,
                                                              3477
                                                            ],
                                                            "referencedDeclaration": 3477,
                                                            "src": "9951:7:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                              "typeString": "function (string memory,string memory,string memory) pure returns (bool)"
                                                            }
                                                          },
                                                          "id": 3382,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "kind": "functionCall",
                                                          "lValueRequested": false,
                                                          "nameLocations": [],
                                                          "names": [],
                                                          "nodeType": "FunctionCall",
                                                          "src": "9951:45:5",
                                                          "tryCall": false,
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                          }
                                                        },
                                                        "id": 3391,
                                                        "nodeType": "IfStatement",
                                                        "src": "9947:88:5",
                                                        "trueBody": {
                                                          "expression": {
                                                            "id": 3389,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftHandSide": {
                                                              "expression": {
                                                                "expression": {
                                                                  "id": 3383,
                                                                  "name": "stdChains",
                                                                  "nodeType": "Identifier",
                                                                  "overloadedDeclarations": [],
                                                                  "referencedDeclaration": 2766,
                                                                  "src": "9998:9:5",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                                    "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                                  }
                                                                },
                                                                "id": 3386,
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberLocation": "10008:11:5",
                                                                "memberName": "GnosisChain",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": 2762,
                                                                "src": "9998:21:5",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                                  "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                                }
                                                              },
                                                              "id": 3387,
                                                              "isConstant": false,
                                                              "isLValue": true,
                                                              "isPure": false,
                                                              "lValueRequested": true,
                                                              "memberLocation": "10020:6:5",
                                                              "memberName": "rpcUrl",
                                                              "nodeType": "MemberAccess",
                                                              "referencedDeclaration": 2710,
                                                              "src": "9998:28:5",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_string_storage",
                                                                "typeString": "string storage ref"
                                                              }
                                                            },
                                                            "nodeType": "Assignment",
                                                            "operator": "=",
                                                            "rightHandSide": {
                                                              "id": 3388,
                                                              "name": "rpcUrl",
                                                              "nodeType": "Identifier",
                                                              "overloadedDeclarations": [],
                                                              "referencedDeclaration": 3165,
                                                              "src": "10029:6:5",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_string_memory_ptr",
                                                                "typeString": "string memory"
                                                              }
                                                            },
                                                            "src": "9998:37:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_string_storage",
                                                              "typeString": "string storage ref"
                                                            }
                                                          },
                                                          "id": 3390,
                                                          "nodeType": "ExpressionStatement",
                                                          "src": "9998:37:5"
                                                        }
                                                      },
                                                      "id": 3392,
                                                      "nodeType": "IfStatement",
                                                      "src": "9809:226:5",
                                                      "trueBody": {
                                                        "expression": {
                                                          "id": 3376,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "leftHandSide": {
                                                            "expression": {
                                                              "expression": {
                                                                "id": 3370,
                                                                "name": "stdChains",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2766,
                                                                "src": "9882:9:5",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                                  "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                                }
                                                              },
                                                              "id": 3373,
                                                              "isConstant": false,
                                                              "isLValue": true,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "memberLocation": "9892:20:5",
                                                              "memberName": "BnbSmartChainTestnet",
                                                              "nodeType": "MemberAccess",
                                                              "referencedDeclaration": 2759,
                                                              "src": "9882:30:5",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                                "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                              }
                                                            },
                                                            "id": 3374,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "memberLocation": "9913:6:5",
                                                            "memberName": "rpcUrl",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 2710,
                                                            "src": "9882:37:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_string_storage",
                                                              "typeString": "string storage ref"
                                                            }
                                                          },
                                                          "nodeType": "Assignment",
                                                          "operator": "=",
                                                          "rightHandSide": {
                                                            "id": 3375,
                                                            "name": "rpcUrl",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3165,
                                                            "src": "9922:6:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_string_memory_ptr",
                                                              "typeString": "string memory"
                                                            }
                                                          },
                                                          "src": "9882:46:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_string_storage",
                                                            "typeString": "string storage ref"
                                                          }
                                                        },
                                                        "id": 3377,
                                                        "nodeType": "ExpressionStatement",
                                                        "src": "9882:46:5"
                                                      }
                                                    },
                                                    "id": 3393,
                                                    "nodeType": "IfStatement",
                                                    "src": "9694:341:5",
                                                    "trueBody": {
                                                      "expression": {
                                                        "id": 3363,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftHandSide": {
                                                          "expression": {
                                                            "expression": {
                                                              "id": 3357,
                                                              "name": "stdChains",
                                                              "nodeType": "Identifier",
                                                              "overloadedDeclarations": [],
                                                              "referencedDeclaration": 2766,
                                                              "src": "9751:9:5",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                                "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                              }
                                                            },
                                                            "id": 3360,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberLocation": "9761:13:5",
                                                            "memberName": "BnbSmartChain",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 2756,
                                                            "src": "9751:23:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                              "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                            }
                                                          },
                                                          "id": 3361,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": true,
                                                          "memberLocation": "9775:6:5",
                                                          "memberName": "rpcUrl",
                                                          "nodeType": "MemberAccess",
                                                          "referencedDeclaration": 2710,
                                                          "src": "9751:30:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_string_storage",
                                                            "typeString": "string storage ref"
                                                          }
                                                        },
                                                        "nodeType": "Assignment",
                                                        "operator": "=",
                                                        "rightHandSide": {
                                                          "id": 3362,
                                                          "name": "rpcUrl",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 3165,
                                                          "src": "9784:6:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                          }
                                                        },
                                                        "src": "9751:39:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_string_storage",
                                                          "typeString": "string storage ref"
                                                        }
                                                      },
                                                      "id": 3364,
                                                      "nodeType": "ExpressionStatement",
                                                      "src": "9751:39:5"
                                                    }
                                                  },
                                                  "id": 3394,
                                                  "nodeType": "IfStatement",
                                                  "src": "9581:454:5",
                                                  "trueBody": {
                                                    "expression": {
                                                      "id": 3350,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "leftHandSide": {
                                                        "expression": {
                                                          "expression": {
                                                            "id": 3344,
                                                            "name": "stdChains",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2766,
                                                            "src": "9636:9:5",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                              "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                            }
                                                          },
                                                          "id": 3347,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "memberLocation": "9646:13:5",
                                                          "memberName": "AvalancheFuji",
                                                          "nodeType": "MemberAccess",
                                                          "referencedDeclaration": 2753,
                                                          "src": "9636:23:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                            "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                          }
                                                        },
                                                        "id": 3348,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "memberLocation": "9660:6:5",
                                                        "memberName": "rpcUrl",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 2710,
                                                        "src": "9636:30:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_string_storage",
                                                          "typeString": "string storage ref"
                                                        }
                                                      },
                                                      "nodeType": "Assignment",
                                                      "operator": "=",
                                                      "rightHandSide": {
                                                        "id": 3349,
                                                        "name": "rpcUrl",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3165,
                                                        "src": "9669:6:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_string_memory_ptr",
                                                          "typeString": "string memory"
                                                        }
                                                      },
                                                      "src": "9636:39:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_string_storage",
                                                        "typeString": "string storage ref"
                                                      }
                                                    },
                                                    "id": 3351,
                                                    "nodeType": "ExpressionStatement",
                                                    "src": "9636:39:5"
                                                  }
                                                },
                                                "id": 3395,
                                                "nodeType": "IfStatement",
                                                "src": "9495:540:5",
                                                "trueBody": {
                                                  "expression": {
                                                    "id": 3337,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                      "expression": {
                                                        "expression": {
                                                          "id": 3331,
                                                          "name": "stdChains",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 2766,
                                                          "src": "9527:9:5",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                            "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                          }
                                                        },
                                                        "id": 3334,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberLocation": "9537:9:5",
                                                        "memberName": "Avalanche",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 2750,
                                                        "src": "9527:19:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                          "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                        }
                                                      },
                                                      "id": 3335,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": true,
                                                      "memberLocation": "9547:6:5",
                                                      "memberName": "rpcUrl",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 2710,
                                                      "src": "9527:26:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_string_storage",
                                                        "typeString": "string storage ref"
                                                      }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                      "id": 3336,
                                                      "name": "rpcUrl",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 3165,
                                                      "src": "9556:6:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_string_memory_ptr",
                                                        "typeString": "string memory"
                                                      }
                                                    },
                                                    "src": "9527:35:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_string_storage",
                                                      "typeString": "string storage ref"
                                                    }
                                                  },
                                                  "id": 3338,
                                                  "nodeType": "ExpressionStatement",
                                                  "src": "9527:35:5"
                                                }
                                              },
                                              "id": 3396,
                                              "nodeType": "IfStatement",
                                              "src": "9382:653:5",
                                              "trueBody": {
                                                "expression": {
                                                  "id": 3325,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "leftHandSide": {
                                                    "expression": {
                                                      "expression": {
                                                        "id": 3319,
                                                        "name": "stdChains",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2766,
                                                        "src": "9437:9:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                          "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                        }
                                                      },
                                                      "id": 3322,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "9447:13:5",
                                                      "memberName": "PolygonMumbai",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 2747,
                                                      "src": "9437:23:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                        "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                      }
                                                    },
                                                    "id": 3323,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": true,
                                                    "memberLocation": "9461:6:5",
                                                    "memberName": "rpcUrl",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 2710,
                                                    "src": "9437:30:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_string_storage",
                                                      "typeString": "string storage ref"
                                                    }
                                                  },
                                                  "nodeType": "Assignment",
                                                  "operator": "=",
                                                  "rightHandSide": {
                                                    "id": 3324,
                                                    "name": "rpcUrl",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3165,
                                                    "src": "9470:6:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_string_memory_ptr",
                                                      "typeString": "string memory"
                                                    }
                                                  },
                                                  "src": "9437:39:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                  }
                                                },
                                                "id": 3326,
                                                "nodeType": "ExpressionStatement",
                                                "src": "9437:39:5"
                                              }
                                            },
                                            "id": 3397,
                                            "nodeType": "IfStatement",
                                            "src": "9300:735:5",
                                            "trueBody": {
                                              "expression": {
                                                "id": 3312,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftHandSide": {
                                                  "expression": {
                                                    "expression": {
                                                      "id": 3306,
                                                      "name": "stdChains",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 2766,
                                                      "src": "9330:9:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                        "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                      }
                                                    },
                                                    "id": 3309,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberLocation": "9340:7:5",
                                                    "memberName": "Polygon",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 2744,
                                                    "src": "9330:17:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                      "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                    }
                                                  },
                                                  "id": 3310,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": true,
                                                  "memberLocation": "9348:6:5",
                                                  "memberName": "rpcUrl",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 2710,
                                                  "src": "9330:24:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                  }
                                                },
                                                "nodeType": "Assignment",
                                                "operator": "=",
                                                "rightHandSide": {
                                                  "id": 3311,
                                                  "name": "rpcUrl",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 3165,
                                                  "src": "9357:6:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                },
                                                "src": "9330:33:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_storage",
                                                  "typeString": "string storage ref"
                                                }
                                              },
                                              "id": 3313,
                                              "nodeType": "ExpressionStatement",
                                              "src": "9330:33:5"
                                            }
                                          },
                                          "id": 3398,
                                          "nodeType": "IfStatement",
                                          "src": "9190:845:5",
                                          "trueBody": {
                                            "expression": {
                                              "id": 3300,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "leftHandSide": {
                                                "expression": {
                                                  "expression": {
                                                    "id": 3294,
                                                    "name": "stdChains",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2766,
                                                    "src": "9243:9:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                      "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                    }
                                                  },
                                                  "id": 3297,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "9253:12:5",
                                                  "memberName": "ArbitrumNova",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 2741,
                                                  "src": "9243:22:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                    "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                  }
                                                },
                                                "id": 3298,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": true,
                                                "memberLocation": "9266:6:5",
                                                "memberName": "rpcUrl",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 2710,
                                                "src": "9243:29:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_storage",
                                                  "typeString": "string storage ref"
                                                }
                                              },
                                              "nodeType": "Assignment",
                                              "operator": "=",
                                              "rightHandSide": {
                                                "id": 3299,
                                                "name": "rpcUrl",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3165,
                                                "src": "9275:6:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              },
                                              "src": "9243:38:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                              }
                                            },
                                            "id": 3301,
                                            "nodeType": "ExpressionStatement",
                                            "src": "9243:38:5"
                                          }
                                        },
                                        "id": 3399,
                                        "nodeType": "IfStatement",
                                        "src": "9063:972:5",
                                        "trueBody": {
                                          "expression": {
                                            "id": 3287,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftHandSide": {
                                              "expression": {
                                                "expression": {
                                                  "id": 3281,
                                                  "name": "stdChains",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 2766,
                                                  "src": "9128:9:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                    "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                  }
                                                },
                                                "id": 3284,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "9138:17:5",
                                                "memberName": "ArbitrumOneGoerli",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 2738,
                                                "src": "9128:27:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                  "typeString": "struct StdCheatsSafe.Chain storage ref"
                                                }
                                              },
                                              "id": 3285,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": true,
                                              "memberLocation": "9156:6:5",
                                              "memberName": "rpcUrl",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 2710,
                                              "src": "9128:34:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                              }
                                            },
                                            "nodeType": "Assignment",
                                            "operator": "=",
                                            "rightHandSide": {
                                              "id": 3286,
                                              "name": "rpcUrl",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 3165,
                                              "src": "9165:6:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            },
                                            "src": "9128:43:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_storage",
                                              "typeString": "string storage ref"
                                            }
                                          },
                                          "id": 3288,
                                          "nodeType": "ExpressionStatement",
                                          "src": "9128:43:5"
                                        }
                                      },
                                      "id": 3400,
                                      "nodeType": "IfStatement",
                                      "src": "8956:1079:5",
                                      "trueBody": {
                                        "expression": {
                                          "id": 3274,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftHandSide": {
                                            "expression": {
                                              "expression": {
                                                "id": 3268,
                                                "name": "stdChains",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2766,
                                                "src": "9007:9:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                  "typeString": "struct StdCheatsSafe.Chains storage ref"
                                                }
                                              },
                                              "id": 3271,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "9017:11:5",
                                              "memberName": "ArbitrumOne",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 2735,
                                              "src": "9007:21:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                                "typeString": "struct StdCheatsSafe.Chain storage ref"
                                              }
                                            },
                                            "id": 3272,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberLocation": "9029:6:5",
                                            "memberName": "rpcUrl",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 2710,
                                            "src": "9007:28:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_storage",
                                              "typeString": "string storage ref"
                                            }
                                          },
                                          "nodeType": "Assignment",
                                          "operator": "=",
                                          "rightHandSide": {
                                            "id": 3273,
                                            "name": "rpcUrl",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3165,
                                            "src": "9038:6:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          "src": "9007:37:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                          }
                                        },
                                        "id": 3275,
                                        "nodeType": "ExpressionStatement",
                                        "src": "9007:37:5"
                                      }
                                    },
                                    "id": 3401,
                                    "nodeType": "IfStatement",
                                    "src": "8840:1195:5",
                                    "trueBody": {
                                      "expression": {
                                        "id": 3261,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                          "expression": {
                                            "expression": {
                                              "id": 3255,
                                              "name": "stdChains",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 2766,
                                              "src": "8897:9:5",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                                "typeString": "struct StdCheatsSafe.Chains storage ref"
                                              }
                                            },
                                            "id": 3258,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "8907:14:5",
                                            "memberName": "OptimismGoerli",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 2732,
                                            "src": "8897:24:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                              "typeString": "struct StdCheatsSafe.Chain storage ref"
                                            }
                                          },
                                          "id": 3259,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": true,
                                          "memberLocation": "8922:6:5",
                                          "memberName": "rpcUrl",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 2710,
                                          "src": "8897:31:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                          }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                          "id": 3260,
                                          "name": "rpcUrl",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 3165,
                                          "src": "8931:6:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        "src": "8897:40:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_storage",
                                          "typeString": "string storage ref"
                                        }
                                      },
                                      "id": 3262,
                                      "nodeType": "ExpressionStatement",
                                      "src": "8897:40:5"
                                    }
                                  },
                                  "id": 3402,
                                  "nodeType": "IfStatement",
                                  "src": "8756:1279:5",
                                  "trueBody": {
                                    "expression": {
                                      "id": 3248,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "expression": {
                                          "expression": {
                                            "id": 3242,
                                            "name": "stdChains",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2766,
                                            "src": "8787:9:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                              "typeString": "struct StdCheatsSafe.Chains storage ref"
                                            }
                                          },
                                          "id": 3245,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "8797:8:5",
                                          "memberName": "Optimism",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 2729,
                                          "src": "8787:18:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                            "typeString": "struct StdCheatsSafe.Chain storage ref"
                                          }
                                        },
                                        "id": 3246,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": true,
                                        "memberLocation": "8806:6:5",
                                        "memberName": "rpcUrl",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 2710,
                                        "src": "8787:25:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_storage",
                                          "typeString": "string storage ref"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "id": 3247,
                                        "name": "rpcUrl",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 3165,
                                        "src": "8815:6:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "src": "8787:34:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage",
                                        "typeString": "string storage ref"
                                      }
                                    },
                                    "id": 3249,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8787:34:5"
                                  }
                                },
                                "id": 3403,
                                "nodeType": "IfStatement",
                                "src": "8674:1361:5",
                                "trueBody": {
                                  "expression": {
                                    "id": 3236,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftHandSide": {
                                      "expression": {
                                        "expression": {
                                          "id": 3230,
                                          "name": "stdChains",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 2766,
                                          "src": "8704:9:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                            "typeString": "struct StdCheatsSafe.Chains storage ref"
                                          }
                                        },
                                        "id": 3233,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "8714:7:5",
                                        "memberName": "Sepolia",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 2726,
                                        "src": "8704:17:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                          "typeString": "struct StdCheatsSafe.Chain storage ref"
                                        }
                                      },
                                      "id": 3234,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "memberLocation": "8722:6:5",
                                      "memberName": "rpcUrl",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 2710,
                                      "src": "8704:24:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage",
                                        "typeString": "string storage ref"
                                      }
                                    },
                                    "nodeType": "Assignment",
                                    "operator": "=",
                                    "rightHandSide": {
                                      "id": 3235,
                                      "name": "rpcUrl",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3165,
                                      "src": "8731:6:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    "src": "8704:33:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  },
                                  "id": 3237,
                                  "nodeType": "ExpressionStatement",
                                  "src": "8704:33:5"
                                }
                              },
                              "id": 3404,
                              "nodeType": "IfStatement",
                              "src": "8594:1441:5",
                              "trueBody": {
                                "expression": {
                                  "id": 3224,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "expression": {
                                      "expression": {
                                        "id": 3218,
                                        "name": "stdChains",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2766,
                                        "src": "8623:9:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                          "typeString": "struct StdCheatsSafe.Chains storage ref"
                                        }
                                      },
                                      "id": 3221,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "8633:6:5",
                                      "memberName": "Goerli",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 2723,
                                      "src": "8623:16:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                        "typeString": "struct StdCheatsSafe.Chain storage ref"
                                      }
                                    },
                                    "id": 3222,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": true,
                                    "memberLocation": "8640:6:5",
                                    "memberName": "rpcUrl",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 2710,
                                    "src": "8623:23:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "id": 3223,
                                    "name": "rpcUrl",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3165,
                                    "src": "8649:6:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "src": "8623:32:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_storage",
                                    "typeString": "string storage ref"
                                  }
                                },
                                "id": 3225,
                                "nodeType": "ExpressionStatement",
                                "src": "8623:32:5"
                              }
                            },
                            "id": 3405,
                            "nodeType": "IfStatement",
                            "src": "8512:1523:5",
                            "trueBody": {
                              "expression": {
                                "id": 3212,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "expression": {
                                    "expression": {
                                      "id": 3206,
                                      "name": "stdChains",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2766,
                                      "src": "8542:9:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                        "typeString": "struct StdCheatsSafe.Chains storage ref"
                                      }
                                    },
                                    "id": 3209,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "8552:7:5",
                                    "memberName": "Mainnet",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 2720,
                                    "src": "8542:17:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                      "typeString": "struct StdCheatsSafe.Chain storage ref"
                                    }
                                  },
                                  "id": 3210,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberLocation": "8560:6:5",
                                  "memberName": "rpcUrl",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 2710,
                                  "src": "8542:24:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_storage",
                                    "typeString": "string storage ref"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "id": 3211,
                                  "name": "rpcUrl",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3165,
                                  "src": "8569:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "src": "8542:33:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              "id": 3213,
                              "nodeType": "ExpressionStatement",
                              "src": "8542:33:5"
                            }
                          },
                          "id": 3406,
                          "nodeType": "IfStatement",
                          "src": "8430:1605:5",
                          "trueBody": {
                            "expression": {
                              "id": 3200,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "expression": {
                                  "expression": {
                                    "id": 3194,
                                    "name": "stdChains",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2766,
                                    "src": "8460:9:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                      "typeString": "struct StdCheatsSafe.Chains storage ref"
                                    }
                                  },
                                  "id": 3197,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "8470:7:5",
                                  "memberName": "Hardhat",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 2717,
                                  "src": "8460:17:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                    "typeString": "struct StdCheatsSafe.Chain storage ref"
                                  }
                                },
                                "id": 3198,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberLocation": "8478:6:5",
                                "memberName": "rpcUrl",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2710,
                                "src": "8460:24:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "id": 3199,
                                "name": "rpcUrl",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3165,
                                "src": "8487:6:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "src": "8460:33:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            "id": 3201,
                            "nodeType": "ExpressionStatement",
                            "src": "8460:33:5"
                          }
                        },
                        "id": 3407,
                        "nodeType": "IfStatement",
                        "src": "8352:1683:5",
                        "trueBody": {
                          "expression": {
                            "id": 3188,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "expression": {
                                  "id": 3182,
                                  "name": "stdChains",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2766,
                                  "src": "8380:9:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                    "typeString": "struct StdCheatsSafe.Chains storage ref"
                                  }
                                },
                                "id": 3185,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8390:5:5",
                                "memberName": "Anvil",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2714,
                                "src": "8380:15:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                  "typeString": "struct StdCheatsSafe.Chain storage ref"
                                }
                              },
                              "id": 3186,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "8396:6:5",
                              "memberName": "rpcUrl",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2710,
                              "src": "8380:22:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "id": 3187,
                              "name": "rpcUrl",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3165,
                              "src": "8405:6:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "src": "8380:31:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage",
                              "typeString": "string storage ref"
                            }
                          },
                          "id": 3189,
                          "nodeType": "ExpressionStatement",
                          "src": "8380:31:5"
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3158,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 3155,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3152,
                      "src": "8194:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 3156,
                        "name": "rpcs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3146,
                        "src": "8198:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                          "typeString": "string memory[2] memory[] memory"
                        }
                      },
                      "id": 3157,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8203:6:5",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "8198:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8194:15:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3409,
                  "initializationExpression": {
                    "assignments": [
                      3152
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 3152,
                        "mutability": "mutable",
                        "name": "i",
                        "nameLocation": "8187:1:5",
                        "nodeType": "VariableDeclaration",
                        "scope": 3409,
                        "src": "8179:9:5",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 3151,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "8179:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 3154,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 3153,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8191:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "8179:13:5"
                  },
                  "loopExpression": {
                    "expression": {
                      "id": 3160,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "8211:3:5",
                      "subExpression": {
                        "id": 3159,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3152,
                        "src": "8211:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3161,
                    "nodeType": "ExpressionStatement",
                    "src": "8211:3:5"
                  },
                  "nodeType": "ForStatement",
                  "src": "8174:1909:5"
                },
                {
                  "expression": {
                    "hexValue": "30",
                    "id": 3410,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "10099:1:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "functionReturnParameters": 3049,
                  "id": 3411,
                  "nodeType": "Return",
                  "src": "10092:8:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_constructor",
            "nameLocation": "6237:12:5",
            "parameters": {
              "id": 3046,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6249:2:5"
            },
            "returnParameters": {
              "id": 3049,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3048,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3413,
                  "src": "6269:7:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3047,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6269:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6268:9:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "private"
          },
          {
            "id": 3437,
            "nodeType": "FunctionDefinition",
            "src": "10113:155:5",
            "body": {
              "id": 3436,
              "nodeType": "Block",
              "src": "10192:76:5",
              "statements": [
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 3434,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "id": 3425,
                              "name": "a",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3415,
                              "src": "10230:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "id": 3423,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -1,
                              "src": "10219:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 3424,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "10223:6:5",
                            "memberName": "encode",
                            "nodeType": "MemberAccess",
                            "src": "10219:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 3426,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10219:13:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3422,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -8,
                        "src": "10209:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 3427,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10209:24:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "id": 3431,
                              "name": "b",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3417,
                              "src": "10258:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "id": 3429,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -1,
                              "src": "10247:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 3430,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "10251:6:5",
                            "memberName": "encode",
                            "nodeType": "MemberAccess",
                            "src": "10247:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 3432,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10247:13:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3428,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -8,
                        "src": "10237:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 3433,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10237:24:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "10209:52:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3421,
                  "id": 3435,
                  "nodeType": "Return",
                  "src": "10202:59:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isEqual",
            "nameLocation": "10122:7:5",
            "parameters": {
              "id": 3418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3415,
                  "mutability": "mutable",
                  "name": "a",
                  "nameLocation": "10144:1:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3437,
                  "src": "10130:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3414,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10130:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3417,
                  "mutability": "mutable",
                  "name": "b",
                  "nameLocation": "10161:1:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3437,
                  "src": "10147:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3416,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10147:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10129:34:5"
            },
            "returnParameters": {
              "id": 3421,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3420,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3437,
                  "src": "10186:4:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3419,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "10186:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10185:6:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "id": 3477,
            "nodeType": "FunctionDefinition",
            "src": "10274:240:5",
            "body": {
              "id": 3476,
              "nodeType": "Block",
              "src": "10370:144:5",
              "statements": [
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3474,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 3460,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 3451,
                                "name": "a",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3439,
                                "src": "10420:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "id": 3449,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "10409:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 3450,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "10413:6:5",
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "src": "10409:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 3452,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10409:13:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 3448,
                          "name": "keccak256",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -8,
                          "src": "10399:9:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                            "typeString": "function (bytes memory) pure returns (bytes32)"
                          }
                        },
                        "id": 3453,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10399:24:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 3457,
                                "name": "b",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3441,
                                "src": "10448:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "id": 3455,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "10437:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 3456,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "10441:6:5",
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "src": "10437:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 3458,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10437:13:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 3454,
                          "name": "keccak256",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -8,
                          "src": "10427:9:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                            "typeString": "function (bytes memory) pure returns (bytes32)"
                          }
                        },
                        "id": 3459,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10427:24:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "10399:52:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 3473,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 3464,
                                "name": "a",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3439,
                                "src": "10476:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "id": 3462,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "10465:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 3463,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "10469:6:5",
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "src": "10465:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 3465,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10465:13:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 3461,
                          "name": "keccak256",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -8,
                          "src": "10455:9:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                            "typeString": "function (bytes memory) pure returns (bytes32)"
                          }
                        },
                        "id": 3466,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10455:24:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 3470,
                                "name": "c",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3443,
                                "src": "10504:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "id": 3468,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "10493:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 3469,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "10497:6:5",
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "src": "10493:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 3471,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10493:13:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 3467,
                          "name": "keccak256",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -8,
                          "src": "10483:9:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                            "typeString": "function (bytes memory) pure returns (bytes32)"
                          }
                        },
                        "id": 3472,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10483:24:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "10455:52:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "10399:108:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3447,
                  "id": 3475,
                  "nodeType": "Return",
                  "src": "10380:127:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isEqual",
            "nameLocation": "10283:7:5",
            "parameters": {
              "id": 3444,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3439,
                  "mutability": "mutable",
                  "name": "a",
                  "nameLocation": "10305:1:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3477,
                  "src": "10291:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3438,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10291:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3441,
                  "mutability": "mutable",
                  "name": "b",
                  "nameLocation": "10322:1:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3477,
                  "src": "10308:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3440,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10308:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3443,
                  "mutability": "mutable",
                  "name": "c",
                  "nameLocation": "10339:1:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3477,
                  "src": "10325:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3442,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10325:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10290:51:5"
            },
            "returnParameters": {
              "id": 3447,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3446,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3477,
                  "src": "10364:4:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3445,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "10364:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10363:6:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "id": 3492,
            "nodeType": "FunctionDefinition",
            "src": "10520:274:5",
            "body": {
              "id": 3491,
              "nodeType": "Block",
              "src": "10580:214:5",
              "statements": [
                {
                  "assignments": [
                    3483
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3483,
                      "mutability": "mutable",
                      "name": "chainId",
                      "nameLocation": "10674:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3491,
                      "src": "10666:15:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3482,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10666:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3484,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10666:15:5"
                },
                {
                  "AST": {
                    "nodeType": "YulBlock",
                    "src": "10700:44:5",
                    "statements": [
                      {
                        "nodeType": "YulAssignment",
                        "src": "10714:20:5",
                        "value": {
                          "arguments": [],
                          "functionName": {
                            "name": "chainid",
                            "nodeType": "YulIdentifier",
                            "src": "10725:7:5"
                          },
                          "nodeType": "YulFunctionCall",
                          "src": "10725:9:5"
                        },
                        "variableNames": [
                          {
                            "name": "chainId",
                            "nodeType": "YulIdentifier",
                            "src": "10714:7:5"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "london",
                  "externalReferences": [
                    {
                      "declaration": 3483,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "10714:7:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 3485,
                  "nodeType": "InlineAssembly",
                  "src": "10691:53:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3487,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3479,
                        "src": "10773:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 3488,
                        "name": "chainId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3483,
                        "src": "10779:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3486,
                      "name": "assumeNoPrecompiles",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        3492,
                        3647
                      ],
                      "referencedDeclaration": 3647,
                      "src": "10753:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 3489,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10753:34:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3490,
                  "nodeType": "ExpressionStatement",
                  "src": "10753:34:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNoPrecompiles",
            "nameLocation": "10529:19:5",
            "parameters": {
              "id": 3480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3479,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "10557:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3492,
                  "src": "10549:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3478,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10549:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10548:14:5"
            },
            "returnParameters": {
              "id": 3481,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10580:0:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 3647,
            "nodeType": "FunctionDefinition",
            "src": "10800:1937:5",
            "body": {
              "id": 3646,
              "nodeType": "Block",
              "src": "10877:1860:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3514,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 3507,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 3502,
                            "name": "addr",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3494,
                            "src": "11175:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "307831",
                                "id": 3505,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "11190:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "0x1"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                }
                              ],
                              "id": 3504,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "11182:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 3503,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "11182:7:5",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 3506,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11182:12:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "11175:19:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 3513,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 3508,
                            "name": "addr",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3494,
                            "src": "11198:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "307839",
                                "id": 3511,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "11213:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_9_by_1",
                                  "typeString": "int_const 9"
                                },
                                "value": "0x9"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_9_by_1",
                                  "typeString": "int_const 9"
                                }
                              ],
                              "id": 3510,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "11205:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 3509,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "11205:7:5",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 3512,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11205:12:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "11198:19:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "11175:42:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 3499,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "11165:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 3501,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11168:6:5",
                      "memberName": "assume",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7989,
                      "src": "11165:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bool_$returns$__$",
                        "typeString": "function (bool) external"
                      }
                    },
                    "id": 3515,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11165:53:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3516,
                  "nodeType": "ExpressionStatement",
                  "src": "11165:53:5"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3527,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3521,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 3517,
                        "name": "chainId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3496,
                        "src": "11268:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 3518,
                            "name": "stdChains",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2766,
                            "src": "11279:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Chains_$2763_storage",
                              "typeString": "struct StdCheatsSafe.Chains storage ref"
                            }
                          },
                          "id": 3519,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11289:8:5",
                          "memberName": "Optimism",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2729,
                          "src": "11279:18:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_storage",
                            "typeString": "struct StdCheatsSafe.Chain storage ref"
                          }
                        },
                        "id": 3520,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11298:7:5",
                        "memberName": "chainId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2708,
                        "src": "11279:26:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "11268:37:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3526,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 3522,
                        "name": "chainId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3496,
                        "src": "11309:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 3523,
                            "name": "stdChains",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2766,
                            "src": "11320:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Chains_$2763_storage",
                              "typeString": "struct StdCheatsSafe.Chains storage ref"
                            }
                          },
                          "id": 3524,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11330:14:5",
                          "memberName": "OptimismGoerli",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2732,
                          "src": "11320:24:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Chain_$2711_storage",
                            "typeString": "struct StdCheatsSafe.Chain storage ref"
                          }
                        },
                        "id": 3525,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11345:7:5",
                        "memberName": "chainId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2708,
                        "src": "11320:32:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "11309:43:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "11268:84:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 3557,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3551,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 3547,
                          "name": "chainId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3496,
                          "src": "11670:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 3548,
                              "name": "stdChains",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2766,
                              "src": "11681:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                "typeString": "struct StdCheatsSafe.Chains storage ref"
                              }
                            },
                            "id": 3549,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "11691:11:5",
                            "memberName": "ArbitrumOne",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2735,
                            "src": "11681:21:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Chain_$2711_storage",
                              "typeString": "struct StdCheatsSafe.Chain storage ref"
                            }
                          },
                          "id": 3550,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11703:7:5",
                          "memberName": "chainId",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2708,
                          "src": "11681:29:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "11670:40:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3556,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 3552,
                          "name": "chainId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3496,
                          "src": "11714:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 3553,
                              "name": "stdChains",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2766,
                              "src": "11725:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                "typeString": "struct StdCheatsSafe.Chains storage ref"
                              }
                            },
                            "id": 3554,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "11735:17:5",
                            "memberName": "ArbitrumOneGoerli",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2738,
                            "src": "11725:27:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Chain_$2711_storage",
                              "typeString": "struct StdCheatsSafe.Chain storage ref"
                            }
                          },
                          "id": 3555,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11753:7:5",
                          "memberName": "chainId",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2708,
                          "src": "11725:35:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "11714:46:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "11670:90:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3587,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3581,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 3577,
                            "name": "chainId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3496,
                            "src": "12037:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 3578,
                                "name": "stdChains",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2766,
                                "src": "12048:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                  "typeString": "struct StdCheatsSafe.Chains storage ref"
                                }
                              },
                              "id": 3579,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "12058:9:5",
                              "memberName": "Avalanche",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2750,
                              "src": "12048:19:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                "typeString": "struct StdCheatsSafe.Chain storage ref"
                              }
                            },
                            "id": 3580,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "12068:7:5",
                            "memberName": "chainId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2708,
                            "src": "12048:27:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "12037:38:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3586,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 3582,
                            "name": "chainId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3496,
                            "src": "12079:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 3583,
                                "name": "stdChains",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2766,
                                "src": "12090:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Chains_$2763_storage",
                                  "typeString": "struct StdCheatsSafe.Chains storage ref"
                                }
                              },
                              "id": 3584,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "12100:13:5",
                              "memberName": "AvalancheFuji",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2753,
                              "src": "12090:23:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Chain_$2711_storage",
                                "typeString": "struct StdCheatsSafe.Chain storage ref"
                              }
                            },
                            "id": 3585,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "12114:7:5",
                            "memberName": "chainId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2708,
                            "src": "12090:31:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "12079:42:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "12037:84:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 3643,
                      "nodeType": "IfStatement",
                      "src": "12033:665:5",
                      "trueBody": {
                        "id": 3642,
                        "nodeType": "Block",
                        "src": "12123:575:5",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "id": 3603,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 3596,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 3591,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3494,
                                      "src": "12276:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830313030303030303030303030303030303030303030303030303030303030303030303030303030",
                                          "id": 3594,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "12291:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x0100000000000000000000000000000000000000"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 3593,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "12283:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 3592,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "12283:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 3595,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "12283:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "12276:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "||",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 3602,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 3597,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3494,
                                      "src": "12338:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830313030303030303030303030303030303030303030303030303030303030303030303030306666",
                                          "id": 3600,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "12353:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x01000000000000000000000000000000000000ff"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 3599,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "12345:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 3598,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "12345:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 3601,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "12345:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "12338:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "src": "12276:120:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                ],
                                "expression": {
                                  "id": 3588,
                                  "name": "vm",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2699,
                                  "src": "12266:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_VmSafe_$7990",
                                    "typeString": "contract VmSafe"
                                  }
                                },
                                "id": 3590,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12269:6:5",
                                "memberName": "assume",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7989,
                                "src": "12266:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_bool_$returns$__$",
                                  "typeString": "function (bool) external"
                                }
                              },
                              "id": 3604,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12266:131:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3605,
                            "nodeType": "ExpressionStatement",
                            "src": "12266:131:5"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "id": 3621,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 3614,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 3609,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3494,
                                      "src": "12421:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830323030303030303030303030303030303030303030303030303030303030303030303030303030",
                                          "id": 3612,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "12436:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x0200000000000000000000000000000000000000"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 3611,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "12428:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 3610,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "12428:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 3613,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "12428:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "12421:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "||",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 3620,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 3615,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3494,
                                      "src": "12483:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830323030303030303030303030303030303030303030303030303030303030303030303030304646",
                                          "id": 3618,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "12498:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x02000000000000000000000000000000000000FF"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 3617,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "12490:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 3616,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "12490:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 3619,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "12490:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "12483:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "src": "12421:120:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                ],
                                "expression": {
                                  "id": 3606,
                                  "name": "vm",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2699,
                                  "src": "12411:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_VmSafe_$7990",
                                    "typeString": "contract VmSafe"
                                  }
                                },
                                "id": 3608,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12414:6:5",
                                "memberName": "assume",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7989,
                                "src": "12411:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_bool_$returns$__$",
                                  "typeString": "function (bool) external"
                                }
                              },
                              "id": 3622,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12411:131:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3623,
                            "nodeType": "ExpressionStatement",
                            "src": "12411:131:5"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "id": 3639,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 3632,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 3627,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3494,
                                      "src": "12566:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830333030303030303030303030303030303030303030303030303030303030303030303030303030",
                                          "id": 3630,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "12581:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x0300000000000000000000000000000000000000"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 3629,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "12573:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 3628,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "12573:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 3631,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "12573:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "12566:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "||",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 3638,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 3633,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3494,
                                      "src": "12628:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830333030303030303030303030303030303030303030303030303030303030303030303030304666",
                                          "id": 3636,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "12643:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x03000000000000000000000000000000000000Ff"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 3635,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "12635:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 3634,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "12635:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 3637,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "12635:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "12628:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "src": "12566:120:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                ],
                                "expression": {
                                  "id": 3624,
                                  "name": "vm",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2699,
                                  "src": "12556:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_VmSafe_$7990",
                                    "typeString": "contract VmSafe"
                                  }
                                },
                                "id": 3626,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12559:6:5",
                                "memberName": "assume",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7989,
                                "src": "12556:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_bool_$returns$__$",
                                  "typeString": "function (bool) external"
                                }
                              },
                              "id": 3640,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12556:131:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 3641,
                            "nodeType": "ExpressionStatement",
                            "src": "12556:131:5"
                          }
                        ]
                      }
                    },
                    "id": 3644,
                    "nodeType": "IfStatement",
                    "src": "11666:1032:5",
                    "trueBody": {
                      "id": 3576,
                      "nodeType": "Block",
                      "src": "11762:265:5",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "id": 3573,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "id": 3566,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 3561,
                                    "name": "addr",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3494,
                                    "src": "11895:4:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "<",
                                  "rightExpression": {
                                    "arguments": [
                                      {
                                        "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303634",
                                        "id": 3564,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "11910:42:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        "value": "0x0000000000000000000000000000000000000064"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "id": 3563,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "11902:7:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 3562,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11902:7:5",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 3565,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "11902:51:5",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "src": "11895:58:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "||",
                                "rightExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "id": 3572,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 3567,
                                    "name": "addr",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3494,
                                    "src": "11957:4:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": ">",
                                  "rightExpression": {
                                    "arguments": [
                                      {
                                        "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303638",
                                        "id": 3570,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "11972:42:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        "value": "0x0000000000000000000000000000000000000068"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "id": 3569,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "11964:7:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 3568,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11964:7:5",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 3571,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "11964:51:5",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "src": "11957:58:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "src": "11895:120:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "id": 3558,
                                "name": "vm",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2699,
                                "src": "11885:2:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_VmSafe_$7990",
                                  "typeString": "contract VmSafe"
                                }
                              },
                              "id": 3560,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11888:6:5",
                              "memberName": "assume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7989,
                              "src": "11885:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_bool_$returns$__$",
                                "typeString": "function (bool) external"
                              }
                            },
                            "id": 3574,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11885:131:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 3575,
                          "nodeType": "ExpressionStatement",
                          "src": "11885:131:5"
                        }
                      ]
                    }
                  },
                  "id": 3645,
                  "nodeType": "IfStatement",
                  "src": "11264:1434:5",
                  "trueBody": {
                    "id": 3546,
                    "nodeType": "Block",
                    "src": "11354:306:5",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 3543,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                "id": 3536,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 3531,
                                  "name": "addr",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3494,
                                  "src": "11528:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "<",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "307834323030303030303030303030303030303030303030303030303030303030303030303030303030",
                                      "id": 3534,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "11543:42:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      "value": "0x4200000000000000000000000000000000000000"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 3533,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "11535:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 3532,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "11535:7:5",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 3535,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "11535:51:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "11528:58:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "||",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                "id": 3542,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 3537,
                                  "name": "addr",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3494,
                                  "src": "11590:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "307834323030303030303030303030303030303030303030303030303030303030303030303030383030",
                                      "id": 3540,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "11605:42:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      "value": "0x4200000000000000000000000000000000000800"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 3539,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "11597:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 3538,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "11597:7:5",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 3541,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "11597:51:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "11590:58:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "11528:120:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "id": 3528,
                              "name": "vm",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2699,
                              "src": "11518:2:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_VmSafe_$7990",
                                "typeString": "contract VmSafe"
                              }
                            },
                            "id": 3530,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "11521:6:5",
                            "memberName": "assume",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7989,
                            "src": "11518:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bool_$returns$__$",
                              "typeString": "function (bool) external"
                            }
                          },
                          "id": 3544,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11518:131:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3545,
                        "nodeType": "ExpressionStatement",
                        "src": "11518:131:5"
                      }
                    ]
                  }
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNoPrecompiles",
            "nameLocation": "10809:19:5",
            "parameters": {
              "id": 3497,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3494,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "10837:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3647,
                  "src": "10829:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3493,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10829:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3496,
                  "mutability": "mutable",
                  "name": "chainId",
                  "nameLocation": "10851:7:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3647,
                  "src": "10843:15:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3495,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10843:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10828:31:5"
            },
            "returnParameters": {
              "id": 3498,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10877:0:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 3739,
            "nodeType": "FunctionDefinition",
            "src": "12743:802:5",
            "body": {
              "id": 3738,
              "nodeType": "Block",
              "src": "12854:691:5",
              "statements": [
                {
                  "assignments": [
                    3656
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3656,
                      "mutability": "mutable",
                      "name": "data",
                      "nameLocation": "12878:4:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3738,
                      "src": "12864:18:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 3655,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "12864:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3661,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 3659,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3649,
                        "src": "12897:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 3657,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "12885:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 3658,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12888:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7782,
                      "src": "12885:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) external returns (string memory)"
                      }
                    },
                    "id": 3660,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12885:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12864:38:5"
                },
                {
                  "assignments": [
                    3663
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3663,
                      "mutability": "mutable",
                      "name": "parsedData",
                      "nameLocation": "12925:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3738,
                      "src": "12912:23:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 3662,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "12912:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3668,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 3666,
                        "name": "data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3656,
                        "src": "12951:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 3664,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "12938:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 3665,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12941:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7969,
                      "src": "12938:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory) external returns (bytes memory)"
                      }
                    },
                    "id": 3667,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12938:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12912:44:5"
                },
                {
                  "assignments": [
                    3671
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3671,
                      "mutability": "mutable",
                      "name": "rawArtifact",
                      "nameLocation": "12998:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3738,
                      "src": "12966:43:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact"
                      },
                      "typeName": {
                        "id": 3670,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 3669,
                          "name": "RawEIP1559ScriptArtifact",
                          "nameLocations": [
                            "12966:24:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2998,
                          "src": "12966:24:5"
                        },
                        "referencedDeclaration": 2998,
                        "src": "12966:24:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3678,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 3674,
                        "name": "parsedData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3663,
                        "src": "13023:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 3675,
                            "name": "RawEIP1559ScriptArtifact",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2998,
                            "src": "13036:24:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$2998_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"
                            }
                          }
                        ],
                        "id": 3676,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "13035:26:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$2998_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$2998_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"
                        }
                      ],
                      "expression": {
                        "id": 3672,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "13012:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 3673,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "13016:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "13012:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 3677,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13012:50:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12966:96:5"
                },
                {
                  "assignments": [
                    3681
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3681,
                      "mutability": "mutable",
                      "name": "artifact",
                      "nameLocation": "13101:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3738,
                      "src": "13072:37:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                        "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact"
                      },
                      "typeName": {
                        "id": 3680,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 3679,
                          "name": "EIP1559ScriptArtifact",
                          "nameLocations": [
                            "13072:21:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2975,
                          "src": "13072:21:5"
                        },
                        "referencedDeclaration": 2975,
                        "src": "13072:21:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_storage_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3682,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13072:37:5"
                },
                {
                  "expression": {
                    "id": 3688,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3683,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3681,
                        "src": "13119:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3685,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13128:9:5",
                      "memberName": "libraries",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2955,
                      "src": "13119:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3686,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3671,
                        "src": "13140:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3687,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13152:9:5",
                      "memberName": "libraries",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2978,
                      "src": "13140:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "13119:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 3689,
                  "nodeType": "ExpressionStatement",
                  "src": "13119:42:5"
                },
                {
                  "expression": {
                    "id": 3695,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3690,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3681,
                        "src": "13171:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3692,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13180:4:5",
                      "memberName": "path",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2957,
                      "src": "13171:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3693,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3671,
                        "src": "13187:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3694,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13199:4:5",
                      "memberName": "path",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2980,
                      "src": "13187:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "13171:32:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 3696,
                  "nodeType": "ExpressionStatement",
                  "src": "13171:32:5"
                },
                {
                  "expression": {
                    "id": 3702,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3697,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3681,
                        "src": "13213:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3699,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13222:9:5",
                      "memberName": "timestamp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2966,
                      "src": "13213:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3700,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3671,
                        "src": "13234:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3701,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13246:9:5",
                      "memberName": "timestamp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2993,
                      "src": "13234:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "13213:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3703,
                  "nodeType": "ExpressionStatement",
                  "src": "13213:42:5"
                },
                {
                  "expression": {
                    "id": 3709,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3704,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3681,
                        "src": "13265:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3706,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13274:7:5",
                      "memberName": "pending",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2960,
                      "src": "13265:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3707,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3671,
                        "src": "13284:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3708,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13296:7:5",
                      "memberName": "pending",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2983,
                      "src": "13284:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "13265:38:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 3710,
                  "nodeType": "ExpressionStatement",
                  "src": "13265:38:5"
                },
                {
                  "expression": {
                    "id": 3716,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3711,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3681,
                        "src": "13313:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3713,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13322:9:5",
                      "memberName": "txReturns",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2974,
                      "src": "13313:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_TxReturn_$3045_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.TxReturn memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3714,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3671,
                        "src": "13334:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3715,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13346:9:5",
                      "memberName": "txReturns",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2991,
                      "src": "13334:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_TxReturn_$3045_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.TxReturn memory[] memory"
                      }
                    },
                    "src": "13313:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_TxReturn_$3045_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.TxReturn memory[] memory"
                    }
                  },
                  "id": 3717,
                  "nodeType": "ExpressionStatement",
                  "src": "13313:42:5"
                },
                {
                  "expression": {
                    "id": 3725,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3718,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3681,
                        "src": "13365:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3720,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13374:8:5",
                      "memberName": "receipts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2964,
                      "src": "13365:17:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 3722,
                            "name": "rawArtifact",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3671,
                            "src": "13408:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                            }
                          },
                          "id": 3723,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13420:8:5",
                          "memberName": "receipts",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2987,
                          "src": "13408:20:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                          }
                        ],
                        "id": 3721,
                        "name": "rawToConvertedReceipts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4171,
                        "src": "13385:22:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"
                        }
                      },
                      "id": 3724,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13385:44:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                      }
                    },
                    "src": "13365:64:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                    }
                  },
                  "id": 3726,
                  "nodeType": "ExpressionStatement",
                  "src": "13365:64:5"
                },
                {
                  "expression": {
                    "id": 3734,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3727,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3681,
                        "src": "13439:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 3729,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13448:12:5",
                      "memberName": "transactions",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2970,
                      "src": "13439:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 3731,
                            "name": "rawArtifact",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3671,
                            "src": "13488:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$2998_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                            }
                          },
                          "id": 3732,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13500:12:5",
                          "memberName": "transactions",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2997,
                          "src": "13488:24:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                          }
                        ],
                        "id": 3730,
                        "name": "rawToConvertedEIPTx1559s",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3788,
                        "src": "13463:24:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"
                        }
                      },
                      "id": 3733,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13463:50:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                      }
                    },
                    "src": "13439:74:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                    }
                  },
                  "id": 3735,
                  "nodeType": "ExpressionStatement",
                  "src": "13439:74:5"
                },
                {
                  "expression": {
                    "id": 3736,
                    "name": "artifact",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3681,
                    "src": "13530:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                      "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                    }
                  },
                  "functionReturnParameters": 3654,
                  "id": 3737,
                  "nodeType": "Return",
                  "src": "13523:15:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readEIP1559ScriptArtifact",
            "nameLocation": "12752:25:5",
            "parameters": {
              "id": 3650,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3649,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "12792:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3739,
                  "src": "12778:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3648,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12778:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12777:20:5"
            },
            "returnParameters": {
              "id": 3654,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3653,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3739,
                  "src": "12824:28:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_memory_ptr",
                    "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact"
                  },
                  "typeName": {
                    "id": 3652,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3651,
                      "name": "EIP1559ScriptArtifact",
                      "nameLocations": [
                        "12824:21:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2975,
                      "src": "12824:21:5"
                    },
                    "referencedDeclaration": 2975,
                    "src": "12824:21:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$2975_storage_ptr",
                      "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12823:30:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 3788,
            "nodeType": "FunctionDefinition",
            "src": "13551:312:5",
            "body": {
              "id": 3787,
              "nodeType": "Block",
              "src": "13660:203:5",
              "statements": [
                {
                  "assignments": [
                    3754
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3754,
                      "mutability": "mutable",
                      "name": "txs",
                      "nameLocation": "13686:3:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3787,
                      "src": "13670:19:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 3752,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 3751,
                            "name": "Tx1559",
                            "nameLocations": [
                              "13670:6:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 2819,
                            "src": "13670:6:5"
                          },
                          "referencedDeclaration": 2819,
                          "src": "13670:6:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Tx1559_$2819_storage_ptr",
                            "typeString": "struct StdCheatsSafe.Tx1559"
                          }
                        },
                        "id": 3753,
                        "nodeType": "ArrayTypeName",
                        "src": "13670:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3762,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 3759,
                          "name": "rawTxs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3743,
                          "src": "13705:6:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                          }
                        },
                        "id": 3760,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "13712:6:5",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "13705:13:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3758,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "13692:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 3756,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 3755,
                            "name": "Tx1559",
                            "nameLocations": [
                              "13696:6:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 2819,
                            "src": "13696:6:5"
                          },
                          "referencedDeclaration": 2819,
                          "src": "13696:6:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Tx1559_$2819_storage_ptr",
                            "typeString": "struct StdCheatsSafe.Tx1559"
                          }
                        },
                        "id": 3757,
                        "nodeType": "ArrayTypeName",
                        "src": "13696:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559[]"
                        }
                      }
                    },
                    "id": 3761,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13692:27:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13670:49:5"
                },
                {
                  "body": {
                    "id": 3783,
                    "nodeType": "Block",
                    "src": "13769:68:5",
                    "statements": [
                      {
                        "expression": {
                          "id": 3781,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 3773,
                              "name": "txs",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3754,
                              "src": "13783:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                              }
                            },
                            "id": 3775,
                            "indexExpression": {
                              "id": 3774,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3764,
                              "src": "13787:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "13783:6:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Tx1559 memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 3777,
                                  "name": "rawTxs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3743,
                                  "src": "13816:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                                  }
                                },
                                "id": 3779,
                                "indexExpression": {
                                  "id": 3778,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3764,
                                  "src": "13823:1:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "13816:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                                }
                              ],
                              "id": 3776,
                              "name": "rawToConvertedEIPTx1559",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3848,
                              "src": "13792:23:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559_$2783_memory_ptr_$returns$_t_struct$_Tx1559_$2819_memory_ptr_$",
                                "typeString": "function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"
                              }
                            },
                            "id": 3780,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "13792:34:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Tx1559 memory"
                            }
                          },
                          "src": "13783:43:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Tx1559 memory"
                          }
                        },
                        "id": 3782,
                        "nodeType": "ExpressionStatement",
                        "src": "13783:43:5"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3769,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 3766,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3764,
                      "src": "13745:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 3767,
                        "name": "rawTxs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3743,
                        "src": "13749:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                        }
                      },
                      "id": 3768,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13756:6:5",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "13749:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "13745:17:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3784,
                  "initializationExpression": {
                    "assignments": [
                      3764
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 3764,
                        "mutability": "mutable",
                        "name": "i",
                        "nameLocation": "13742:1:5",
                        "nodeType": "VariableDeclaration",
                        "scope": 3784,
                        "src": "13734:9:5",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 3763,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "13734:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 3765,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "13734:9:5"
                  },
                  "loopExpression": {
                    "expression": {
                      "id": 3771,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "13764:3:5",
                      "subExpression": {
                        "id": 3770,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3764,
                        "src": "13764:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3772,
                    "nodeType": "ExpressionStatement",
                    "src": "13764:3:5"
                  },
                  "nodeType": "ForStatement",
                  "src": "13729:108:5"
                },
                {
                  "expression": {
                    "id": 3785,
                    "name": "txs",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3754,
                    "src": "13853:3:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3749,
                  "id": 3786,
                  "nodeType": "Return",
                  "src": "13846:10:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedEIPTx1559s",
            "nameLocation": "13560:24:5",
            "parameters": {
              "id": 3744,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3743,
                  "mutability": "mutable",
                  "name": "rawTxs",
                  "nameLocation": "13604:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3788,
                  "src": "13585:25:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3741,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 3740,
                        "name": "RawTx1559",
                        "nameLocations": [
                          "13585:9:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2783,
                        "src": "13585:9:5"
                      },
                      "referencedDeclaration": 2783,
                      "src": "13585:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawTx1559_$2783_storage_ptr",
                        "typeString": "struct StdCheatsSafe.RawTx1559"
                      }
                    },
                    "id": 3742,
                    "nodeType": "ArrayTypeName",
                    "src": "13585:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13584:27:5"
            },
            "returnParameters": {
              "id": 3749,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3748,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3788,
                  "src": "13643:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3746,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 3745,
                        "name": "Tx1559",
                        "nameLocations": [
                          "13643:6:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2819,
                        "src": "13643:6:5"
                      },
                      "referencedDeclaration": 2819,
                      "src": "13643:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559_$2819_storage_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559"
                      }
                    },
                    "id": 3747,
                    "nodeType": "ArrayTypeName",
                    "src": "13643:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13642:17:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 3848,
            "nodeType": "FunctionDefinition",
            "src": "13869:488:5",
            "body": {
              "id": 3847,
              "nodeType": "Block",
              "src": "13972:385:5",
              "statements": [
                {
                  "assignments": [
                    3799
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3799,
                      "mutability": "mutable",
                      "name": "transaction",
                      "nameLocation": "13996:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3847,
                      "src": "13982:25:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559"
                      },
                      "typeName": {
                        "id": 3798,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 3797,
                          "name": "Tx1559",
                          "nameLocations": [
                            "13982:6:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2819,
                          "src": "13982:6:5"
                        },
                        "referencedDeclaration": 2819,
                        "src": "13982:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$2819_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3800,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13982:25:5"
                },
                {
                  "expression": {
                    "id": 3806,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3801,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3799,
                        "src": "14017:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 3803,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14029:9:5",
                      "memberName": "arguments",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2805,
                      "src": "14017:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3804,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3791,
                        "src": "14041:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 3805,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14047:9:5",
                      "memberName": "arguments",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2769,
                      "src": "14041:15:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "14017:39:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 3807,
                  "nodeType": "ExpressionStatement",
                  "src": "14017:39:5"
                },
                {
                  "expression": {
                    "id": 3813,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3808,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3799,
                        "src": "14066:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 3810,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14078:12:5",
                      "memberName": "contractName",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2809,
                      "src": "14066:24:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3811,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3791,
                        "src": "14093:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 3812,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14099:12:5",
                      "memberName": "contractName",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2773,
                      "src": "14093:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "14066:45:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 3814,
                  "nodeType": "ExpressionStatement",
                  "src": "14066:45:5"
                },
                {
                  "expression": {
                    "id": 3820,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3815,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3799,
                        "src": "14121:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 3817,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14133:11:5",
                      "memberName": "functionSig",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2811,
                      "src": "14121:23:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3818,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3791,
                        "src": "14147:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 3819,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14153:11:5",
                      "memberName": "functionSig",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2775,
                      "src": "14147:17:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "14121:43:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 3821,
                  "nodeType": "ExpressionStatement",
                  "src": "14121:43:5"
                },
                {
                  "expression": {
                    "id": 3827,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3822,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3799,
                        "src": "14174:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 3824,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14186:4:5",
                      "memberName": "hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2813,
                      "src": "14174:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3825,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3791,
                        "src": "14193:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 3826,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14199:4:5",
                      "memberName": "hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2777,
                      "src": "14193:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "14174:29:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 3828,
                  "nodeType": "ExpressionStatement",
                  "src": "14174:29:5"
                },
                {
                  "expression": {
                    "id": 3836,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3829,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3799,
                        "src": "14213:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 3831,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14225:8:5",
                      "memberName": "txDetail",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2816,
                      "src": "14213:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 3833,
                            "name": "rawTx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3791,
                            "src": "14264:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                            }
                          },
                          "id": 3834,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14270:8:5",
                          "memberName": "txDetail",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2780,
                          "src": "14264:14:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                          }
                        ],
                        "id": 3832,
                        "name": "rawToConvertedEIP1559Detail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3928,
                        "src": "14236:27:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559Detail_$2802_memory_ptr_$returns$_t_struct$_Tx1559Detail_$2838_memory_ptr_$",
                          "typeString": "function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)"
                        }
                      },
                      "id": 3835,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14236:43:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                      }
                    },
                    "src": "14213:66:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                    }
                  },
                  "id": 3837,
                  "nodeType": "ExpressionStatement",
                  "src": "14213:66:5"
                },
                {
                  "expression": {
                    "id": 3843,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3838,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3799,
                        "src": "14289:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 3840,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14301:6:5",
                      "memberName": "opcode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2818,
                      "src": "14289:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3841,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3791,
                        "src": "14310:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 3842,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14316:6:5",
                      "memberName": "opcode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2782,
                      "src": "14310:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "14289:33:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 3844,
                  "nodeType": "ExpressionStatement",
                  "src": "14289:33:5"
                },
                {
                  "expression": {
                    "id": 3845,
                    "name": "transaction",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3799,
                    "src": "14339:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory"
                    }
                  },
                  "functionReturnParameters": 3796,
                  "id": 3846,
                  "nodeType": "Return",
                  "src": "14332:18:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedEIPTx1559",
            "nameLocation": "13878:23:5",
            "parameters": {
              "id": 3792,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3791,
                  "mutability": "mutable",
                  "name": "rawTx",
                  "nameLocation": "13919:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3848,
                  "src": "13902:22:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559"
                  },
                  "typeName": {
                    "id": 3790,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3789,
                      "name": "RawTx1559",
                      "nameLocations": [
                        "13902:9:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2783,
                      "src": "13902:9:5"
                    },
                    "referencedDeclaration": 2783,
                    "src": "13902:9:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawTx1559_$2783_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13901:24:5"
            },
            "returnParameters": {
              "id": 3796,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3795,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3848,
                  "src": "13957:13:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559"
                  },
                  "typeName": {
                    "id": 3794,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3793,
                      "name": "Tx1559",
                      "nameLocations": [
                        "13957:6:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2819,
                      "src": "13957:6:5"
                    },
                    "referencedDeclaration": 2819,
                    "src": "13957:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$2819_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13956:15:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 3928,
            "nodeType": "FunctionDefinition",
            "src": "14363:615:5",
            "body": {
              "id": 3927,
              "nodeType": "Block",
              "src": "14522:456:5",
              "statements": [
                {
                  "assignments": [
                    3859
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3859,
                      "mutability": "mutable",
                      "name": "txDetail",
                      "nameLocation": "14552:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3927,
                      "src": "14532:28:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559Detail"
                      },
                      "typeName": {
                        "id": 3858,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 3857,
                          "name": "Tx1559Detail",
                          "nameLocations": [
                            "14532:12:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2838,
                          "src": "14532:12:5"
                        },
                        "referencedDeclaration": 2838,
                        "src": "14532:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3860,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14532:28:5"
                },
                {
                  "expression": {
                    "id": 3866,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3861,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3859,
                        "src": "14570:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 3863,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14579:4:5",
                      "memberName": "data",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2825,
                      "src": "14570:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3864,
                        "name": "rawDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3851,
                        "src": "14586:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                        }
                      },
                      "id": 3865,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14596:4:5",
                      "memberName": "data",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2789,
                      "src": "14586:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "src": "14570:30:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 3867,
                  "nodeType": "ExpressionStatement",
                  "src": "14570:30:5"
                },
                {
                  "expression": {
                    "id": 3873,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3868,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3859,
                        "src": "14610:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 3870,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14619:4:5",
                      "memberName": "from",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2827,
                      "src": "14610:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3871,
                        "name": "rawDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3851,
                        "src": "14626:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                        }
                      },
                      "id": 3872,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14636:4:5",
                      "memberName": "from",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2791,
                      "src": "14626:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "14610:30:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 3874,
                  "nodeType": "ExpressionStatement",
                  "src": "14610:30:5"
                },
                {
                  "expression": {
                    "id": 3880,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3875,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3859,
                        "src": "14650:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 3877,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14659:2:5",
                      "memberName": "to",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2833,
                      "src": "14650:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3878,
                        "name": "rawDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3851,
                        "src": "14664:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                        }
                      },
                      "id": 3879,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14674:2:5",
                      "memberName": "to",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2797,
                      "src": "14664:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "14650:26:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 3881,
                  "nodeType": "ExpressionStatement",
                  "src": "14650:26:5"
                },
                {
                  "expression": {
                    "id": 3889,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3882,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3859,
                        "src": "14686:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 3884,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14695:5:5",
                      "memberName": "nonce",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2831,
                      "src": "14686:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 3886,
                            "name": "rawDetail",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3851,
                            "src": "14715:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                            }
                          },
                          "id": 3887,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14725:5:5",
                          "memberName": "nonce",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2795,
                          "src": "14715:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3885,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "14703:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 3888,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14703:28:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "14686:45:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3890,
                  "nodeType": "ExpressionStatement",
                  "src": "14686:45:5"
                },
                {
                  "expression": {
                    "id": 3898,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3891,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3859,
                        "src": "14741:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 3893,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14750:6:5",
                      "memberName": "txType",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2835,
                      "src": "14741:15:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 3895,
                            "name": "rawDetail",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3851,
                            "src": "14771:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                            }
                          },
                          "id": 3896,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14781:6:5",
                          "memberName": "txType",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2799,
                          "src": "14771:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3894,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "14759:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 3897,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14759:29:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "14741:47:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3899,
                  "nodeType": "ExpressionStatement",
                  "src": "14741:47:5"
                },
                {
                  "expression": {
                    "id": 3907,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3900,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3859,
                        "src": "14798:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 3902,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14807:5:5",
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2837,
                      "src": "14798:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 3904,
                            "name": "rawDetail",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3851,
                            "src": "14827:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                            }
                          },
                          "id": 3905,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14837:5:5",
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2801,
                          "src": "14827:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3903,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "14815:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 3906,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14815:28:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "14798:45:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3908,
                  "nodeType": "ExpressionStatement",
                  "src": "14798:45:5"
                },
                {
                  "expression": {
                    "id": 3916,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3909,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3859,
                        "src": "14853:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 3911,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14862:3:5",
                      "memberName": "gas",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2829,
                      "src": "14853:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 3913,
                            "name": "rawDetail",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3851,
                            "src": "14880:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                            }
                          },
                          "id": 3914,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14890:3:5",
                          "memberName": "gas",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2793,
                          "src": "14880:13:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3912,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "14868:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 3915,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14868:26:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "14853:41:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3917,
                  "nodeType": "ExpressionStatement",
                  "src": "14853:41:5"
                },
                {
                  "expression": {
                    "id": 3923,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 3918,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3859,
                        "src": "14904:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 3920,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14913:10:5",
                      "memberName": "accessList",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2823,
                      "src": "14904:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.AccessList memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 3921,
                        "name": "rawDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3851,
                        "src": "14926:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                        }
                      },
                      "id": 3922,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14936:10:5",
                      "memberName": "accessList",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2787,
                      "src": "14926:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.AccessList memory[] memory"
                      }
                    },
                    "src": "14904:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_AccessList_$2894_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.AccessList memory[] memory"
                    }
                  },
                  "id": 3924,
                  "nodeType": "ExpressionStatement",
                  "src": "14904:42:5"
                },
                {
                  "expression": {
                    "id": 3925,
                    "name": "txDetail",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3859,
                    "src": "14963:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                    }
                  },
                  "functionReturnParameters": 3856,
                  "id": 3926,
                  "nodeType": "Return",
                  "src": "14956:15:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedEIP1559Detail",
            "nameLocation": "14372:27:5",
            "parameters": {
              "id": 3852,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3851,
                  "mutability": "mutable",
                  "name": "rawDetail",
                  "nameLocation": "14423:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3928,
                  "src": "14400:32:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559Detail"
                  },
                  "typeName": {
                    "id": 3850,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3849,
                      "name": "RawTx1559Detail",
                      "nameLocations": [
                        "14400:15:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2802,
                      "src": "14400:15:5"
                    },
                    "referencedDeclaration": 2802,
                    "src": "14400:15:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawTx1559Detail_$2802_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559Detail"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14399:34:5"
            },
            "returnParameters": {
              "id": 3856,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3855,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3928,
                  "src": "14497:19:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Tx1559Detail_$2838_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559Detail"
                  },
                  "typeName": {
                    "id": 3854,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3853,
                      "name": "Tx1559Detail",
                      "nameLocations": [
                        "14497:12:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2838,
                      "src": "14497:12:5"
                    },
                    "referencedDeclaration": 2838,
                    "src": "14497:12:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559Detail_$2838_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559Detail"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14496:21:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 3970,
            "nodeType": "FunctionDefinition",
            "src": "14984:358:5",
            "body": {
              "id": 3969,
              "nodeType": "Block",
              "src": "15068:274:5",
              "statements": [
                {
                  "assignments": [
                    3938
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3938,
                      "mutability": "mutable",
                      "name": "deployData",
                      "nameLocation": "15092:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3969,
                      "src": "15078:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 3937,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15078:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3943,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 3941,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3930,
                        "src": "15117:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 3939,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "15105:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 3940,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15108:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7782,
                      "src": "15105:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) external returns (string memory)"
                      }
                    },
                    "id": 3942,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15105:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15078:44:5"
                },
                {
                  "assignments": [
                    3945
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3945,
                      "mutability": "mutable",
                      "name": "parsedDeployData",
                      "nameLocation": "15145:16:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3969,
                      "src": "15132:29:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 3944,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "15132:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3951,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 3948,
                        "name": "deployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3938,
                        "src": "15177:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "hexValue": "2e7472616e73616374696f6e73",
                        "id": 3949,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15189:15:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049",
                          "typeString": "literal_string \".transactions\""
                        },
                        "value": ".transactions"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049",
                          "typeString": "literal_string \".transactions\""
                        }
                      ],
                      "expression": {
                        "id": 3946,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "15164:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 3947,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15167:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7962,
                      "src": "15164:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory,string memory) external returns (bytes memory)"
                      }
                    },
                    "id": 3950,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15164:41:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15132:73:5"
                },
                {
                  "assignments": [
                    3956
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3956,
                      "mutability": "mutable",
                      "name": "rawTxs",
                      "nameLocation": "15234:6:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 3969,
                      "src": "15215:25:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawTx1559[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 3954,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 3953,
                            "name": "RawTx1559",
                            "nameLocations": [
                              "15215:9:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 2783,
                            "src": "15215:9:5"
                          },
                          "referencedDeclaration": 2783,
                          "src": "15215:9:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RawTx1559_$2783_storage_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559"
                          }
                        },
                        "id": 3955,
                        "nodeType": "ArrayTypeName",
                        "src": "15215:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3964,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 3959,
                        "name": "parsedDeployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3945,
                        "src": "15254:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "baseExpression": {
                              "id": 3960,
                              "name": "RawTx1559",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2783,
                              "src": "15273:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_RawTx1559_$2783_storage_ptr_$",
                                "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)"
                              }
                            },
                            "id": 3961,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "15273:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)"
                            }
                          }
                        ],
                        "id": 3962,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "15272:13:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)"
                        }
                      ],
                      "expression": {
                        "id": 3957,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "15243:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 3958,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "15247:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "15243:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 3963,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15243:43:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15215:71:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 3966,
                        "name": "rawTxs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3956,
                        "src": "15328:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                        }
                      ],
                      "id": 3965,
                      "name": "rawToConvertedEIPTx1559s",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3788,
                      "src": "15303:24:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$2783_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"
                      }
                    },
                    "id": 3967,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15303:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3936,
                  "id": 3968,
                  "nodeType": "Return",
                  "src": "15296:39:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readTx1559s",
            "nameLocation": "14993:11:5",
            "parameters": {
              "id": 3931,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3930,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "15019:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 3970,
                  "src": "15005:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3929,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15005:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15004:20:5"
            },
            "returnParameters": {
              "id": 3936,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3935,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3970,
                  "src": "15051:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3933,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 3932,
                        "name": "Tx1559",
                        "nameLocations": [
                          "15051:6:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2819,
                        "src": "15051:6:5"
                      },
                      "referencedDeclaration": 2819,
                      "src": "15051:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559_$2819_storage_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559"
                      }
                    },
                    "id": 3934,
                    "nodeType": "ArrayTypeName",
                    "src": "15051:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$2819_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15050:17:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4025,
            "nodeType": "FunctionDefinition",
            "src": "15348:448:5",
            "body": {
              "id": 4024,
              "nodeType": "Block",
              "src": "15444:352:5",
              "statements": [
                {
                  "assignments": [
                    3981
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3981,
                      "mutability": "mutable",
                      "name": "deployData",
                      "nameLocation": "15468:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4024,
                      "src": "15454:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 3980,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15454:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 3986,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 3984,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3972,
                        "src": "15493:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 3982,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "15481:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 3983,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15484:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7782,
                      "src": "15481:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) external returns (string memory)"
                      }
                    },
                    "id": 3985,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15481:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15454:44:5"
                },
                {
                  "assignments": [
                    3988
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3988,
                      "mutability": "mutable",
                      "name": "key",
                      "nameLocation": "15522:3:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4024,
                      "src": "15508:17:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 3987,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15508:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4001,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "2e7472616e73616374696f6e735b",
                            "id": 3993,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15552:16:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c",
                              "typeString": "literal_string \".transactions[\""
                            },
                            "value": ".transactions["
                          },
                          {
                            "arguments": [
                              {
                                "id": 3996,
                                "name": "index",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3974,
                                "src": "15582:5:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 3994,
                                "name": "vm",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2699,
                                "src": "15570:2:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_VmSafe_$7990",
                                  "typeString": "contract VmSafe"
                                }
                              },
                              "id": 3995,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "15573:8:5",
                              "memberName": "toString",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7867,
                              "src": "15570:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (uint256) external returns (string memory)"
                              }
                            },
                            "id": 3997,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15570:18:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "hexValue": "5d",
                            "id": 3998,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15590:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            },
                            "value": "]"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c",
                              "typeString": "literal_string \".transactions[\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            }
                          ],
                          "expression": {
                            "id": 3991,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "15535:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 3992,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "15539:12:5",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "15535:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 3999,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15535:59:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 3990,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "15528:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": {
                        "id": 3989,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15528:6:5",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 4000,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15528:67:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15508:87:5"
                },
                {
                  "assignments": [
                    4003
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4003,
                      "mutability": "mutable",
                      "name": "parsedDeployData",
                      "nameLocation": "15618:16:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4024,
                      "src": "15605:29:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4002,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "15605:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4009,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4006,
                        "name": "deployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3981,
                        "src": "15650:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "id": 4007,
                        "name": "key",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3988,
                        "src": "15662:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 4004,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "15637:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 4005,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15640:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7962,
                      "src": "15637:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory,string memory) external returns (bytes memory)"
                      }
                    },
                    "id": 4008,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15637:29:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15605:61:5"
                },
                {
                  "assignments": [
                    4012
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4012,
                      "mutability": "mutable",
                      "name": "rawTx",
                      "nameLocation": "15693:5:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4024,
                      "src": "15676:22:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawTx1559"
                      },
                      "typeName": {
                        "id": 4011,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 4010,
                          "name": "RawTx1559",
                          "nameLocations": [
                            "15676:9:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2783,
                          "src": "15676:9:5"
                        },
                        "referencedDeclaration": 2783,
                        "src": "15676:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$2783_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4019,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4015,
                        "name": "parsedDeployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4003,
                        "src": "15712:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 4016,
                            "name": "RawTx1559",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2783,
                            "src": "15731:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_RawTx1559_$2783_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)"
                            }
                          }
                        ],
                        "id": 4017,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "15730:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_RawTx1559_$2783_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_struct$_RawTx1559_$2783_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)"
                        }
                      ],
                      "expression": {
                        "id": 4013,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "15701:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 4014,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "15705:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "15701:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 4018,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15701:41:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15676:66:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4021,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4012,
                        "src": "15783:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_RawTx1559_$2783_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      ],
                      "id": 4020,
                      "name": "rawToConvertedEIPTx1559",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3848,
                      "src": "15759:23:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559_$2783_memory_ptr_$returns$_t_struct$_Tx1559_$2819_memory_ptr_$",
                        "typeString": "function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"
                      }
                    },
                    "id": 4022,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15759:30:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory"
                    }
                  },
                  "functionReturnParameters": 3979,
                  "id": 4023,
                  "nodeType": "Return",
                  "src": "15752:37:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readTx1559",
            "nameLocation": "15357:10:5",
            "parameters": {
              "id": 3975,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3972,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "15382:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4025,
                  "src": "15368:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3971,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15368:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3974,
                  "mutability": "mutable",
                  "name": "index",
                  "nameLocation": "15396:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4025,
                  "src": "15388:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3973,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "15388:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15367:35:5"
            },
            "returnParameters": {
              "id": 3979,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3978,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4025,
                  "src": "15429:13:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Tx1559_$2819_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559"
                  },
                  "typeName": {
                    "id": 3977,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 3976,
                      "name": "Tx1559",
                      "nameLocations": [
                        "15429:6:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2819,
                      "src": "15429:6:5"
                    },
                    "referencedDeclaration": 2819,
                    "src": "15429:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$2819_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15428:15:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4067,
            "nodeType": "FunctionDefinition",
            "src": "15858:366:5",
            "body": {
              "id": 4066,
              "nodeType": "Block",
              "src": "15944:280:5",
              "statements": [
                {
                  "assignments": [
                    4035
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4035,
                      "mutability": "mutable",
                      "name": "deployData",
                      "nameLocation": "15968:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4066,
                      "src": "15954:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 4034,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15954:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4040,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4038,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4027,
                        "src": "15993:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 4036,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "15981:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 4037,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15984:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7782,
                      "src": "15981:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) external returns (string memory)"
                      }
                    },
                    "id": 4039,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15981:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15954:44:5"
                },
                {
                  "assignments": [
                    4042
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4042,
                      "mutability": "mutable",
                      "name": "parsedDeployData",
                      "nameLocation": "16021:16:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4066,
                      "src": "16008:29:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4041,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "16008:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4048,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4045,
                        "name": "deployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4035,
                        "src": "16053:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "hexValue": "2e7265636569707473",
                        "id": 4046,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "16065:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261",
                          "typeString": "literal_string \".receipts\""
                        },
                        "value": ".receipts"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261",
                          "typeString": "literal_string \".receipts\""
                        }
                      ],
                      "expression": {
                        "id": 4043,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "16040:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 4044,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16043:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7962,
                      "src": "16040:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory,string memory) external returns (bytes memory)"
                      }
                    },
                    "id": 4047,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16040:37:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16008:69:5"
                },
                {
                  "assignments": [
                    4053
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4053,
                      "mutability": "mutable",
                      "name": "rawReceipts",
                      "nameLocation": "16107:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4066,
                      "src": "16087:31:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawReceipt[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 4051,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 4050,
                            "name": "RawReceipt",
                            "nameLocations": [
                              "16087:10:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 2923,
                            "src": "16087:10:5"
                          },
                          "referencedDeclaration": 2923,
                          "src": "16087:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RawReceipt_$2923_storage_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceipt"
                          }
                        },
                        "id": 4052,
                        "nodeType": "ArrayTypeName",
                        "src": "16087:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4061,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4056,
                        "name": "parsedDeployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4042,
                        "src": "16132:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "baseExpression": {
                              "id": 4057,
                              "name": "RawReceipt",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2923,
                              "src": "16151:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_RawReceipt_$2923_storage_ptr_$",
                                "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)"
                              }
                            },
                            "id": 4058,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "16151:12:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)"
                            }
                          }
                        ],
                        "id": 4059,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "16150:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)"
                        }
                      ],
                      "expression": {
                        "id": 4054,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "16121:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 4055,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "16125:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "16121:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 4060,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16121:44:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16087:78:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4063,
                        "name": "rawReceipts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4053,
                        "src": "16205:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                        }
                      ],
                      "id": 4062,
                      "name": "rawToConvertedReceipts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4171,
                      "src": "16182:22:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"
                      }
                    },
                    "id": 4064,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16182:35:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                    }
                  },
                  "functionReturnParameters": 4033,
                  "id": 4065,
                  "nodeType": "Return",
                  "src": "16175:42:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readReceipts",
            "nameLocation": "15867:12:5",
            "parameters": {
              "id": 4028,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4027,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "15894:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4067,
                  "src": "15880:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4026,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15880:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15879:20:5"
            },
            "returnParameters": {
              "id": 4033,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4032,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4067,
                  "src": "15926:16:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4030,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 4029,
                        "name": "Receipt",
                        "nameLocations": [
                          "15926:7:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2952,
                        "src": "15926:7:5"
                      },
                      "referencedDeclaration": 2952,
                      "src": "15926:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Receipt_$2952_storage_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt"
                      }
                    },
                    "id": 4031,
                    "nodeType": "ArrayTypeName",
                    "src": "15926:9:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15925:18:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4122,
            "nodeType": "FunctionDefinition",
            "src": "16230:456:5",
            "body": {
              "id": 4121,
              "nodeType": "Block",
              "src": "16328:358:5",
              "statements": [
                {
                  "assignments": [
                    4078
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4078,
                      "mutability": "mutable",
                      "name": "deployData",
                      "nameLocation": "16352:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4121,
                      "src": "16338:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 4077,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "16338:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4083,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4081,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4069,
                        "src": "16377:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 4079,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "16365:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 4080,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16368:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7782,
                      "src": "16365:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) external returns (string memory)"
                      }
                    },
                    "id": 4082,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16365:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16338:44:5"
                },
                {
                  "assignments": [
                    4085
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4085,
                      "mutability": "mutable",
                      "name": "key",
                      "nameLocation": "16406:3:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4121,
                      "src": "16392:17:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 4084,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "16392:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4098,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "2e72656365697074735b",
                            "id": 4090,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "16436:12:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170",
                              "typeString": "literal_string \".receipts[\""
                            },
                            "value": ".receipts["
                          },
                          {
                            "arguments": [
                              {
                                "id": 4093,
                                "name": "index",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4071,
                                "src": "16462:5:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 4091,
                                "name": "vm",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2699,
                                "src": "16450:2:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_VmSafe_$7990",
                                  "typeString": "contract VmSafe"
                                }
                              },
                              "id": 4092,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "16453:8:5",
                              "memberName": "toString",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7867,
                              "src": "16450:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (uint256) external returns (string memory)"
                              }
                            },
                            "id": 4094,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16450:18:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "hexValue": "5d",
                            "id": 4095,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "16470:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            },
                            "value": "]"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170",
                              "typeString": "literal_string \".receipts[\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            }
                          ],
                          "expression": {
                            "id": 4088,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "16419:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4089,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "16423:12:5",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "16419:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4096,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16419:55:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4087,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "16412:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": {
                        "id": 4086,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "16412:6:5",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 4097,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16412:63:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16392:83:5"
                },
                {
                  "assignments": [
                    4100
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4100,
                      "mutability": "mutable",
                      "name": "parsedDeployData",
                      "nameLocation": "16498:16:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4121,
                      "src": "16485:29:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4099,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "16485:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4106,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4103,
                        "name": "deployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4078,
                        "src": "16530:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "id": 4104,
                        "name": "key",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4085,
                        "src": "16542:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 4101,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "16517:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 4102,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16520:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7962,
                      "src": "16517:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory,string memory) external returns (bytes memory)"
                      }
                    },
                    "id": 4105,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16517:29:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16485:61:5"
                },
                {
                  "assignments": [
                    4109
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4109,
                      "mutability": "mutable",
                      "name": "rawReceipt",
                      "nameLocation": "16574:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4121,
                      "src": "16556:28:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawReceipt"
                      },
                      "typeName": {
                        "id": 4108,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 4107,
                          "name": "RawReceipt",
                          "nameLocations": [
                            "16556:10:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2923,
                          "src": "16556:10:5"
                        },
                        "referencedDeclaration": 2923,
                        "src": "16556:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4116,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4112,
                        "name": "parsedDeployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4100,
                        "src": "16598:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 4113,
                            "name": "RawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2923,
                            "src": "16617:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_RawReceipt_$2923_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)"
                            }
                          }
                        ],
                        "id": 4114,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "16616:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_RawReceipt_$2923_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_struct$_RawReceipt_$2923_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)"
                        }
                      ],
                      "expression": {
                        "id": 4110,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "16587:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 4111,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "16591:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "16587:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 4115,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16587:42:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16556:73:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4118,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4109,
                        "src": "16668:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      ],
                      "id": 4117,
                      "name": "rawToConvertedReceipt",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4292,
                      "src": "16646:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_RawReceipt_$2923_memory_ptr_$returns$_t_struct$_Receipt_$2952_memory_ptr_$",
                        "typeString": "function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"
                      }
                    },
                    "id": 4119,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16646:33:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory"
                    }
                  },
                  "functionReturnParameters": 4076,
                  "id": 4120,
                  "nodeType": "Return",
                  "src": "16639:40:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readReceipt",
            "nameLocation": "16239:11:5",
            "parameters": {
              "id": 4072,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4069,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "16265:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4122,
                  "src": "16251:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4068,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "16251:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4071,
                  "mutability": "mutable",
                  "name": "index",
                  "nameLocation": "16279:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4122,
                  "src": "16271:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4070,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16271:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16250:35:5"
            },
            "returnParameters": {
              "id": 4076,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4075,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4122,
                  "src": "16312:14:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt"
                  },
                  "typeName": {
                    "id": 4074,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4073,
                      "name": "Receipt",
                      "nameLocations": [
                        "16312:7:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2952,
                      "src": "16312:7:5"
                    },
                    "referencedDeclaration": 2952,
                    "src": "16312:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$2952_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16311:16:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4171,
            "nodeType": "FunctionDefinition",
            "src": "16692:347:5",
            "body": {
              "id": 4170,
              "nodeType": "Block",
              "src": "16806:233:5",
              "statements": [
                {
                  "assignments": [
                    4137
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4137,
                      "mutability": "mutable",
                      "name": "receipts",
                      "nameLocation": "16833:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4170,
                      "src": "16816:25:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 4135,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 4134,
                            "name": "Receipt",
                            "nameLocations": [
                              "16816:7:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 2952,
                            "src": "16816:7:5"
                          },
                          "referencedDeclaration": 2952,
                          "src": "16816:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Receipt_$2952_storage_ptr",
                            "typeString": "struct StdCheatsSafe.Receipt"
                          }
                        },
                        "id": 4136,
                        "nodeType": "ArrayTypeName",
                        "src": "16816:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4145,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 4142,
                          "name": "rawReceipts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4126,
                          "src": "16858:11:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                          }
                        },
                        "id": 4143,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16870:6:5",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "16858:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 4141,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "16844:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 4139,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 4138,
                            "name": "Receipt",
                            "nameLocations": [
                              "16848:7:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 2952,
                            "src": "16848:7:5"
                          },
                          "referencedDeclaration": 2952,
                          "src": "16848:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Receipt_$2952_storage_ptr",
                            "typeString": "struct StdCheatsSafe.Receipt"
                          }
                        },
                        "id": 4140,
                        "nodeType": "ArrayTypeName",
                        "src": "16848:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt[]"
                        }
                      }
                    },
                    "id": 4144,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16844:33:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16816:61:5"
                },
                {
                  "body": {
                    "id": 4166,
                    "nodeType": "Block",
                    "src": "16932:76:5",
                    "statements": [
                      {
                        "expression": {
                          "id": 4164,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 4156,
                              "name": "receipts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4137,
                              "src": "16946:8:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                              }
                            },
                            "id": 4158,
                            "indexExpression": {
                              "id": 4157,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4147,
                              "src": "16955:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "16946:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Receipt memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 4160,
                                  "name": "rawReceipts",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4126,
                                  "src": "16982:11:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                                  }
                                },
                                "id": 4162,
                                "indexExpression": {
                                  "id": 4161,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4147,
                                  "src": "16994:1:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "16982:14:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceipt memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceipt memory"
                                }
                              ],
                              "id": 4159,
                              "name": "rawToConvertedReceipt",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4292,
                              "src": "16960:21:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_RawReceipt_$2923_memory_ptr_$returns$_t_struct$_Receipt_$2952_memory_ptr_$",
                                "typeString": "function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"
                              }
                            },
                            "id": 4163,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16960:37:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Receipt memory"
                            }
                          },
                          "src": "16946:51:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Receipt memory"
                          }
                        },
                        "id": 4165,
                        "nodeType": "ExpressionStatement",
                        "src": "16946:51:5"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4152,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 4149,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4147,
                      "src": "16903:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 4150,
                        "name": "rawReceipts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4126,
                        "src": "16907:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                        }
                      },
                      "id": 4151,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16919:6:5",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "16907:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16903:22:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4167,
                  "initializationExpression": {
                    "assignments": [
                      4147
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4147,
                        "mutability": "mutable",
                        "name": "i",
                        "nameLocation": "16900:1:5",
                        "nodeType": "VariableDeclaration",
                        "scope": 4167,
                        "src": "16892:9:5",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4146,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "16892:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 4148,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "16892:9:5"
                  },
                  "loopExpression": {
                    "expression": {
                      "id": 4154,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "16927:3:5",
                      "subExpression": {
                        "id": 4153,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4147,
                        "src": "16927:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4155,
                    "nodeType": "ExpressionStatement",
                    "src": "16927:3:5"
                  },
                  "nodeType": "ForStatement",
                  "src": "16887:121:5"
                },
                {
                  "expression": {
                    "id": 4168,
                    "name": "receipts",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4137,
                    "src": "17024:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                    }
                  },
                  "functionReturnParameters": 4132,
                  "id": 4169,
                  "nodeType": "Return",
                  "src": "17017:15:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedReceipts",
            "nameLocation": "16701:22:5",
            "parameters": {
              "id": 4127,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4126,
                  "mutability": "mutable",
                  "name": "rawReceipts",
                  "nameLocation": "16744:11:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4171,
                  "src": "16724:31:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceipt[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4124,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 4123,
                        "name": "RawReceipt",
                        "nameLocations": [
                          "16724:10:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2923,
                        "src": "16724:10:5"
                      },
                      "referencedDeclaration": 2923,
                      "src": "16724:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawReceipt_$2923_storage_ptr",
                        "typeString": "struct StdCheatsSafe.RawReceipt"
                      }
                    },
                    "id": 4125,
                    "nodeType": "ArrayTypeName",
                    "src": "16724:12:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawReceipt_$2923_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16723:33:5"
            },
            "returnParameters": {
              "id": 4132,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4131,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4171,
                  "src": "16788:16:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4129,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 4128,
                        "name": "Receipt",
                        "nameLocations": [
                          "16788:7:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2952,
                        "src": "16788:7:5"
                      },
                      "referencedDeclaration": 2952,
                      "src": "16788:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Receipt_$2952_storage_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt"
                      }
                    },
                    "id": 4130,
                    "nodeType": "ArrayTypeName",
                    "src": "16788:9:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$2952_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16787:18:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4292,
            "nodeType": "FunctionDefinition",
            "src": "17045:956:5",
            "body": {
              "id": 4291,
              "nodeType": "Block",
              "src": "17153:848:5",
              "statements": [
                {
                  "assignments": [
                    4182
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4182,
                      "mutability": "mutable",
                      "name": "receipt",
                      "nameLocation": "17178:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4291,
                      "src": "17163:22:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt"
                      },
                      "typeName": {
                        "id": 4181,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 4180,
                          "name": "Receipt",
                          "nameLocations": [
                            "17163:7:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2952,
                          "src": "17163:7:5"
                        },
                        "referencedDeclaration": 2952,
                        "src": "17163:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4183,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "17163:22:5"
                },
                {
                  "expression": {
                    "id": 4189,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4184,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17195:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4186,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17203:9:5",
                      "memberName": "blockHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2925,
                      "src": "17195:17:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 4187,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4174,
                        "src": "17215:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 4188,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17226:9:5",
                      "memberName": "blockHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2896,
                      "src": "17215:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "17195:40:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4190,
                  "nodeType": "ExpressionStatement",
                  "src": "17195:40:5"
                },
                {
                  "expression": {
                    "id": 4196,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4191,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17245:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4193,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17253:2:5",
                      "memberName": "to",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2947,
                      "src": "17245:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 4194,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4174,
                        "src": "17258:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 4195,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17269:2:5",
                      "memberName": "to",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2918,
                      "src": "17258:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "17245:26:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 4197,
                  "nodeType": "ExpressionStatement",
                  "src": "17245:26:5"
                },
                {
                  "expression": {
                    "id": 4203,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4198,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17281:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4200,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17289:4:5",
                      "memberName": "from",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2935,
                      "src": "17281:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 4201,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4174,
                        "src": "17296:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 4202,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17307:4:5",
                      "memberName": "from",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2906,
                      "src": "17296:15:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "17281:30:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 4204,
                  "nodeType": "ExpressionStatement",
                  "src": "17281:30:5"
                },
                {
                  "expression": {
                    "id": 4210,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4205,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17321:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4207,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17329:15:5",
                      "memberName": "contractAddress",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2929,
                      "src": "17321:23:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 4208,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4174,
                        "src": "17347:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 4209,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17358:15:5",
                      "memberName": "contractAddress",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2900,
                      "src": "17347:26:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "17321:52:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 4211,
                  "nodeType": "ExpressionStatement",
                  "src": "17321:52:5"
                },
                {
                  "expression": {
                    "id": 4219,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4212,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17383:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4214,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17391:17:5",
                      "memberName": "effectiveGasPrice",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2933,
                      "src": "17383:25:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 4216,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4174,
                            "src": "17423:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 4217,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17434:17:5",
                          "memberName": "effectiveGasPrice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2904,
                          "src": "17423:28:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4215,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "17411:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 4218,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17411:41:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17383:69:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4220,
                  "nodeType": "ExpressionStatement",
                  "src": "17383:69:5"
                },
                {
                  "expression": {
                    "id": 4228,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4221,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17462:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4223,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17470:17:5",
                      "memberName": "cumulativeGasUsed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2931,
                      "src": "17462:25:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 4225,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4174,
                            "src": "17502:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 4226,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17513:17:5",
                          "memberName": "cumulativeGasUsed",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2902,
                          "src": "17502:28:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4224,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "17490:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 4227,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17490:41:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17462:69:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4229,
                  "nodeType": "ExpressionStatement",
                  "src": "17462:69:5"
                },
                {
                  "expression": {
                    "id": 4237,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4230,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17541:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4232,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17549:7:5",
                      "memberName": "gasUsed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2937,
                      "src": "17541:15:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 4234,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4174,
                            "src": "17571:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 4235,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17582:7:5",
                          "memberName": "gasUsed",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2908,
                          "src": "17571:18:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4233,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "17559:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 4236,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17559:31:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17541:49:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4238,
                  "nodeType": "ExpressionStatement",
                  "src": "17541:49:5"
                },
                {
                  "expression": {
                    "id": 4246,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4239,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17600:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4241,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17608:6:5",
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2945,
                      "src": "17600:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 4243,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4174,
                            "src": "17629:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 4244,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17640:6:5",
                          "memberName": "status",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2916,
                          "src": "17629:17:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4242,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "17617:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 4245,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17617:30:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17600:47:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4247,
                  "nodeType": "ExpressionStatement",
                  "src": "17600:47:5"
                },
                {
                  "expression": {
                    "id": 4255,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4248,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17657:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4250,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17665:16:5",
                      "memberName": "transactionIndex",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2951,
                      "src": "17657:24:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 4252,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4174,
                            "src": "17696:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 4253,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17707:16:5",
                          "memberName": "transactionIndex",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2922,
                          "src": "17696:27:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4251,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "17684:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 4254,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17684:40:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17657:67:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4256,
                  "nodeType": "ExpressionStatement",
                  "src": "17657:67:5"
                },
                {
                  "expression": {
                    "id": 4264,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4257,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17734:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4259,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17742:11:5",
                      "memberName": "blockNumber",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2927,
                      "src": "17734:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 4261,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4174,
                            "src": "17768:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 4262,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17779:11:5",
                          "memberName": "blockNumber",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2898,
                          "src": "17768:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4260,
                        "name": "bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4683,
                        "src": "17756:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 4263,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17756:35:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17734:57:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4265,
                  "nodeType": "ExpressionStatement",
                  "src": "17734:57:5"
                },
                {
                  "expression": {
                    "id": 4273,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4266,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17801:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4268,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17809:4:5",
                      "memberName": "logs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2941,
                      "src": "17801:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 4270,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4174,
                            "src": "17842:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 4271,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17853:4:5",
                          "memberName": "logs",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2912,
                          "src": "17842:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                          }
                        ],
                        "id": 4269,
                        "name": "rawToConvertedReceiptLogs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4429,
                        "src": "17816:25:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"
                        }
                      },
                      "id": 4272,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17816:42:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                      }
                    },
                    "src": "17801:57:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                    }
                  },
                  "id": 4274,
                  "nodeType": "ExpressionStatement",
                  "src": "17801:57:5"
                },
                {
                  "expression": {
                    "id": 4280,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4275,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17868:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4277,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17876:9:5",
                      "memberName": "logsBloom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2943,
                      "src": "17868:17:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 4278,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4174,
                        "src": "17888:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 4279,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17899:9:5",
                      "memberName": "logsBloom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2914,
                      "src": "17888:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "src": "17868:40:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 4281,
                  "nodeType": "ExpressionStatement",
                  "src": "17868:40:5"
                },
                {
                  "expression": {
                    "id": 4287,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 4282,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4182,
                        "src": "17918:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 4284,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17926:15:5",
                      "memberName": "transactionHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2949,
                      "src": "17918:23:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 4285,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4174,
                        "src": "17944:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 4286,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17955:15:5",
                      "memberName": "transactionHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2920,
                      "src": "17944:26:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "17918:52:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4288,
                  "nodeType": "ExpressionStatement",
                  "src": "17918:52:5"
                },
                {
                  "expression": {
                    "id": 4289,
                    "name": "receipt",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4182,
                    "src": "17987:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory"
                    }
                  },
                  "functionReturnParameters": 4179,
                  "id": 4290,
                  "nodeType": "Return",
                  "src": "17980:14:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedReceipt",
            "nameLocation": "17054:21:5",
            "parameters": {
              "id": 4175,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4174,
                  "mutability": "mutable",
                  "name": "rawReceipt",
                  "nameLocation": "17094:10:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4292,
                  "src": "17076:28:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RawReceipt_$2923_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceipt"
                  },
                  "typeName": {
                    "id": 4173,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4172,
                      "name": "RawReceipt",
                      "nameLocations": [
                        "17076:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2923,
                      "src": "17076:10:5"
                    },
                    "referencedDeclaration": 2923,
                    "src": "17076:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawReceipt_$2923_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17075:30:5"
            },
            "returnParameters": {
              "id": 4179,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4178,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4292,
                  "src": "17137:14:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Receipt_$2952_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt"
                  },
                  "typeName": {
                    "id": 4177,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4176,
                      "name": "Receipt",
                      "nameLocations": [
                        "17137:7:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2952,
                      "src": "17137:7:5"
                    },
                    "referencedDeclaration": 2952,
                    "src": "17137:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$2952_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17136:16:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4429,
            "nodeType": "FunctionDefinition",
            "src": "18007:869:5",
            "body": {
              "id": 4428,
              "nodeType": "Block",
              "src": "18162:714:5",
              "statements": [
                {
                  "assignments": [
                    4307
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4307,
                      "mutability": "mutable",
                      "name": "logs",
                      "nameLocation": "18192:4:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4428,
                      "src": "18172:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 4305,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 4304,
                            "name": "ReceiptLog",
                            "nameLocations": [
                              "18172:10:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 3040,
                            "src": "18172:10:5"
                          },
                          "referencedDeclaration": 3040,
                          "src": "18172:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ReceiptLog_$3040_storage_ptr",
                            "typeString": "struct StdCheatsSafe.ReceiptLog"
                          }
                        },
                        "id": 4306,
                        "nodeType": "ArrayTypeName",
                        "src": "18172:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4315,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 4312,
                          "name": "rawLogs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4296,
                          "src": "18216:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                          }
                        },
                        "id": 4313,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "18224:6:5",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "18216:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 4311,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "18199:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 4309,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 4308,
                            "name": "ReceiptLog",
                            "nameLocations": [
                              "18203:10:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 3040,
                            "src": "18203:10:5"
                          },
                          "referencedDeclaration": 3040,
                          "src": "18203:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ReceiptLog_$3040_storage_ptr",
                            "typeString": "struct StdCheatsSafe.ReceiptLog"
                          }
                        },
                        "id": 4310,
                        "nodeType": "ArrayTypeName",
                        "src": "18203:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                        }
                      }
                    },
                    "id": 4314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18199:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18172:59:5"
                },
                {
                  "body": {
                    "id": 4424,
                    "nodeType": "Block",
                    "src": "18282:567:5",
                    "statements": [
                      {
                        "expression": {
                          "id": 4334,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4326,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18296:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4328,
                              "indexExpression": {
                                "id": 4327,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18301:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18296:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4329,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18304:10:5",
                            "memberName": "logAddress",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3022,
                            "src": "18296:18:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4330,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4296,
                                "src": "18317:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 4332,
                              "indexExpression": {
                                "id": 4331,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18325:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18317:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 4333,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18328:10:5",
                            "memberName": "logAddress",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3000,
                            "src": "18317:21:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "18296:42:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 4335,
                        "nodeType": "ExpressionStatement",
                        "src": "18296:42:5"
                      },
                      {
                        "expression": {
                          "id": 4344,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4336,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18352:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4338,
                              "indexExpression": {
                                "id": 4337,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18357:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18352:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4339,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18360:9:5",
                            "memberName": "blockHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3024,
                            "src": "18352:17:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4340,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4296,
                                "src": "18372:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 4342,
                              "indexExpression": {
                                "id": 4341,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18380:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18372:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 4343,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18383:9:5",
                            "memberName": "blockHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3002,
                            "src": "18372:20:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "18352:40:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 4345,
                        "nodeType": "ExpressionStatement",
                        "src": "18352:40:5"
                      },
                      {
                        "expression": {
                          "id": 4356,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4346,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18406:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4348,
                              "indexExpression": {
                                "id": 4347,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18411:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18406:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4349,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18414:11:5",
                            "memberName": "blockNumber",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3026,
                            "src": "18406:19:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 4351,
                                    "name": "rawLogs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4296,
                                    "src": "18440:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                    }
                                  },
                                  "id": 4353,
                                  "indexExpression": {
                                    "id": 4352,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4317,
                                    "src": "18448:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "18440:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                                  }
                                },
                                "id": 4354,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "18451:11:5",
                                "memberName": "blockNumber",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 3004,
                                "src": "18440:22:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 4350,
                              "name": "bytesToUint",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4683,
                              "src": "18428:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes memory) pure returns (uint256)"
                              }
                            },
                            "id": 4355,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18428:35:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "18406:57:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4357,
                        "nodeType": "ExpressionStatement",
                        "src": "18406:57:5"
                      },
                      {
                        "expression": {
                          "id": 4366,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4358,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18477:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4360,
                              "indexExpression": {
                                "id": 4359,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18482:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18477:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4361,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18485:4:5",
                            "memberName": "data",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3028,
                            "src": "18477:12:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4362,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4296,
                                "src": "18492:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 4364,
                              "indexExpression": {
                                "id": 4363,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18500:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18492:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 4365,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18503:4:5",
                            "memberName": "data",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3006,
                            "src": "18492:15:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "src": "18477:30:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "id": 4367,
                        "nodeType": "ExpressionStatement",
                        "src": "18477:30:5"
                      },
                      {
                        "expression": {
                          "id": 4378,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4368,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18521:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4370,
                              "indexExpression": {
                                "id": 4369,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18526:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18521:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4371,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18529:8:5",
                            "memberName": "logIndex",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3030,
                            "src": "18521:16:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 4373,
                                    "name": "rawLogs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4296,
                                    "src": "18552:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                    }
                                  },
                                  "id": 4375,
                                  "indexExpression": {
                                    "id": 4374,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4317,
                                    "src": "18560:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "18552:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                                  }
                                },
                                "id": 4376,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "18563:8:5",
                                "memberName": "logIndex",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 3008,
                                "src": "18552:19:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 4372,
                              "name": "bytesToUint",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4683,
                              "src": "18540:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes memory) pure returns (uint256)"
                              }
                            },
                            "id": 4377,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18540:32:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "18521:51:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4379,
                        "nodeType": "ExpressionStatement",
                        "src": "18521:51:5"
                      },
                      {
                        "expression": {
                          "id": 4388,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4380,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18586:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4382,
                              "indexExpression": {
                                "id": 4381,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18591:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18586:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4383,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18594:6:5",
                            "memberName": "topics",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3033,
                            "src": "18586:14:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4384,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4296,
                                "src": "18603:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 4386,
                              "indexExpression": {
                                "id": 4385,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18611:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18603:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 4387,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18614:6:5",
                            "memberName": "topics",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3013,
                            "src": "18603:17:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "src": "18586:34:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                            "typeString": "bytes32[] memory"
                          }
                        },
                        "id": 4389,
                        "nodeType": "ExpressionStatement",
                        "src": "18586:34:5"
                      },
                      {
                        "expression": {
                          "id": 4400,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4390,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18634:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4392,
                              "indexExpression": {
                                "id": 4391,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18639:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18634:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4393,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18642:16:5",
                            "memberName": "transactionIndex",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3035,
                            "src": "18634:24:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 4395,
                                    "name": "rawLogs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4296,
                                    "src": "18673:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                    }
                                  },
                                  "id": 4397,
                                  "indexExpression": {
                                    "id": 4396,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4317,
                                    "src": "18681:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "18673:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                                  }
                                },
                                "id": 4398,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "18684:16:5",
                                "memberName": "transactionIndex",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 3017,
                                "src": "18673:27:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 4394,
                              "name": "bytesToUint",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4683,
                              "src": "18661:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes memory) pure returns (uint256)"
                              }
                            },
                            "id": 4399,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18661:40:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "18634:67:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4401,
                        "nodeType": "ExpressionStatement",
                        "src": "18634:67:5"
                      },
                      {
                        "expression": {
                          "id": 4412,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4402,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18715:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4404,
                              "indexExpression": {
                                "id": 4403,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18720:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18715:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4405,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18723:19:5",
                            "memberName": "transactionLogIndex",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3037,
                            "src": "18715:27:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 4407,
                                    "name": "rawLogs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4296,
                                    "src": "18757:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                    }
                                  },
                                  "id": 4409,
                                  "indexExpression": {
                                    "id": 4408,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4317,
                                    "src": "18765:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "18757:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                                  }
                                },
                                "id": 4410,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "18768:19:5",
                                "memberName": "transactionLogIndex",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 3019,
                                "src": "18757:30:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 4406,
                              "name": "bytesToUint",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4683,
                              "src": "18745:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes memory) pure returns (uint256)"
                              }
                            },
                            "id": 4411,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18745:43:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "18715:73:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4413,
                        "nodeType": "ExpressionStatement",
                        "src": "18715:73:5"
                      },
                      {
                        "expression": {
                          "id": 4422,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4414,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4307,
                                "src": "18802:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 4416,
                              "indexExpression": {
                                "id": 4415,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18807:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18802:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$3040_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 4417,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18810:7:5",
                            "memberName": "removed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3039,
                            "src": "18802:15:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 4418,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4296,
                                "src": "18820:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 4420,
                              "indexExpression": {
                                "id": 4419,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4317,
                                "src": "18828:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18820:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$3020_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 4421,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18831:7:5",
                            "memberName": "removed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3010,
                            "src": "18820:18:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "18802:36:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 4423,
                        "nodeType": "ExpressionStatement",
                        "src": "18802:36:5"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4322,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 4319,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4317,
                      "src": "18257:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 4320,
                        "name": "rawLogs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4296,
                        "src": "18261:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                        }
                      },
                      "id": 4321,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "18269:6:5",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "18261:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "18257:18:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4425,
                  "initializationExpression": {
                    "assignments": [
                      4317
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4317,
                        "mutability": "mutable",
                        "name": "i",
                        "nameLocation": "18254:1:5",
                        "nodeType": "VariableDeclaration",
                        "scope": 4425,
                        "src": "18246:9:5",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4316,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "18246:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 4318,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "18246:9:5"
                  },
                  "loopExpression": {
                    "expression": {
                      "id": 4324,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "18277:3:5",
                      "subExpression": {
                        "id": 4323,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4317,
                        "src": "18277:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4325,
                    "nodeType": "ExpressionStatement",
                    "src": "18277:3:5"
                  },
                  "nodeType": "ForStatement",
                  "src": "18241:608:5"
                },
                {
                  "expression": {
                    "id": 4426,
                    "name": "logs",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4307,
                    "src": "18865:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                    }
                  },
                  "functionReturnParameters": 4302,
                  "id": 4427,
                  "nodeType": "Return",
                  "src": "18858:11:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedReceiptLogs",
            "nameLocation": "18016:25:5",
            "parameters": {
              "id": 4297,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4296,
                  "mutability": "mutable",
                  "name": "rawLogs",
                  "nameLocation": "18065:7:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4429,
                  "src": "18042:30:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceiptLog[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4294,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 4293,
                        "name": "RawReceiptLog",
                        "nameLocations": [
                          "18042:13:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 3020,
                        "src": "18042:13:5"
                      },
                      "referencedDeclaration": 3020,
                      "src": "18042:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawReceiptLog_$3020_storage_ptr",
                        "typeString": "struct StdCheatsSafe.RawReceiptLog"
                      }
                    },
                    "id": 4295,
                    "nodeType": "ArrayTypeName",
                    "src": "18042:15:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$3020_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceiptLog[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18041:32:5"
            },
            "returnParameters": {
              "id": 4302,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4301,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4429,
                  "src": "18137:19:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4299,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 4298,
                        "name": "ReceiptLog",
                        "nameLocations": [
                          "18137:10:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 3040,
                        "src": "18137:10:5"
                      },
                      "referencedDeclaration": 3040,
                      "src": "18137:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_ReceiptLog_$3040_storage_ptr",
                        "typeString": "struct StdCheatsSafe.ReceiptLog"
                      }
                    },
                    "id": 4300,
                    "nodeType": "ArrayTypeName",
                    "src": "18137:12:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$3040_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18136:21:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4461,
            "nodeType": "FunctionDefinition",
            "src": "19036:416:5",
            "body": {
              "id": 4460,
              "nodeType": "Block",
              "src": "19135:317:5",
              "statements": [
                {
                  "assignments": [
                    4439
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4439,
                      "mutability": "mutable",
                      "name": "bytecode",
                      "nameLocation": "19158:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4460,
                      "src": "19145:21:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4438,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "19145:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4448,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 4444,
                            "name": "what",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4431,
                            "src": "19197:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "expression": {
                            "id": 4442,
                            "name": "vm",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2699,
                            "src": "19186:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_VmSafe_$7990",
                              "typeString": "contract VmSafe"
                            }
                          },
                          "id": 4443,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "19189:7:5",
                          "memberName": "getCode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7732,
                          "src": "19186:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (string memory) external returns (bytes memory)"
                          }
                        },
                        "id": 4445,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19186:16:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 4446,
                        "name": "args",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4433,
                        "src": "19204:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 4440,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "19169:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 4441,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "19173:12:5",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "19169:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 4447,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19169:40:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "19145:64:5"
                },
                {
                  "AST": {
                    "nodeType": "YulBlock",
                    "src": "19271:79:5",
                    "statements": [
                      {
                        "nodeType": "YulAssignment",
                        "src": "19285:55:5",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nodeType": "YulLiteral",
                              "src": "19300:1:5",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nodeType": "YulIdentifier",
                                  "src": "19307:8:5"
                                },
                                {
                                  "kind": "number",
                                  "nodeType": "YulLiteral",
                                  "src": "19317:4:5",
                                  "type": "",
                                  "value": "0x20"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nodeType": "YulIdentifier",
                                "src": "19303:3:5"
                              },
                              "nodeType": "YulFunctionCall",
                              "src": "19303:19:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nodeType": "YulIdentifier",
                                  "src": "19330:8:5"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nodeType": "YulIdentifier",
                                "src": "19324:5:5"
                              },
                              "nodeType": "YulFunctionCall",
                              "src": "19324:15:5"
                            }
                          ],
                          "functionName": {
                            "name": "create",
                            "nodeType": "YulIdentifier",
                            "src": "19293:6:5"
                          },
                          "nodeType": "YulFunctionCall",
                          "src": "19293:47:5"
                        },
                        "variableNames": [
                          {
                            "name": "addr",
                            "nodeType": "YulIdentifier",
                            "src": "19285:4:5"
                          }
                        ]
                      }
                    ]
                  },
                  "documentation": "@solidity memory-safe-assembly",
                  "evmVersion": "london",
                  "externalReferences": [
                    {
                      "declaration": 4436,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19285:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4439,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19307:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4439,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19330:8:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 4449,
                  "nodeType": "InlineAssembly",
                  "src": "19262:88:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4456,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4451,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4436,
                          "src": "19368:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4454,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "19384:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4453,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "19376:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4452,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "19376:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4455,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "19376:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "19368:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e",
                        "id": 4457,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "19388:56:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce",
                          "typeString": "literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""
                        },
                        "value": "StdCheats deployCode(string,bytes): Deployment failed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce",
                          "typeString": "literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""
                        }
                      ],
                      "id": 4450,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "19360:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4458,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19360:85:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4459,
                  "nodeType": "ExpressionStatement",
                  "src": "19360:85:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCode",
            "nameLocation": "19045:10:5",
            "parameters": {
              "id": 4434,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4431,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "19070:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4461,
                  "src": "19056:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4430,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "19056:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4433,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "19089:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4461,
                  "src": "19076:17:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4432,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "19076:5:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19055:39:5"
            },
            "returnParameters": {
              "id": 4437,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4436,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "19129:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4461,
                  "src": "19121:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4435,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "19121:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19120:14:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4487,
            "nodeType": "FunctionDefinition",
            "src": "19458:367:5",
            "body": {
              "id": 4486,
              "nodeType": "Block",
              "src": "19538:287:5",
              "statements": [
                {
                  "assignments": [
                    4469
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4469,
                      "mutability": "mutable",
                      "name": "bytecode",
                      "nameLocation": "19561:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4486,
                      "src": "19548:21:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4468,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "19548:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4474,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4472,
                        "name": "what",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4463,
                        "src": "19583:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 4470,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "19572:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 4471,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "19575:7:5",
                      "memberName": "getCode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7732,
                      "src": "19572:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory) external returns (bytes memory)"
                      }
                    },
                    "id": 4473,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19572:16:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "19548:40:5"
                },
                {
                  "AST": {
                    "nodeType": "YulBlock",
                    "src": "19650:79:5",
                    "statements": [
                      {
                        "nodeType": "YulAssignment",
                        "src": "19664:55:5",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nodeType": "YulLiteral",
                              "src": "19679:1:5",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nodeType": "YulIdentifier",
                                  "src": "19686:8:5"
                                },
                                {
                                  "kind": "number",
                                  "nodeType": "YulLiteral",
                                  "src": "19696:4:5",
                                  "type": "",
                                  "value": "0x20"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nodeType": "YulIdentifier",
                                "src": "19682:3:5"
                              },
                              "nodeType": "YulFunctionCall",
                              "src": "19682:19:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nodeType": "YulIdentifier",
                                  "src": "19709:8:5"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nodeType": "YulIdentifier",
                                "src": "19703:5:5"
                              },
                              "nodeType": "YulFunctionCall",
                              "src": "19703:15:5"
                            }
                          ],
                          "functionName": {
                            "name": "create",
                            "nodeType": "YulIdentifier",
                            "src": "19672:6:5"
                          },
                          "nodeType": "YulFunctionCall",
                          "src": "19672:47:5"
                        },
                        "variableNames": [
                          {
                            "name": "addr",
                            "nodeType": "YulIdentifier",
                            "src": "19664:4:5"
                          }
                        ]
                      }
                    ]
                  },
                  "documentation": "@solidity memory-safe-assembly",
                  "evmVersion": "london",
                  "externalReferences": [
                    {
                      "declaration": 4466,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19664:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4469,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19686:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4469,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19709:8:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 4475,
                  "nodeType": "InlineAssembly",
                  "src": "19641:88:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4482,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4477,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4466,
                          "src": "19747:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4480,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "19763:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4479,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "19755:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4478,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "19755:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4481,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "19755:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "19747:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e",
                        "id": 4483,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "19767:50:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371",
                          "typeString": "literal_string \"StdCheats deployCode(string): Deployment failed.\""
                        },
                        "value": "StdCheats deployCode(string): Deployment failed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371",
                          "typeString": "literal_string \"StdCheats deployCode(string): Deployment failed.\""
                        }
                      ],
                      "id": 4476,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "19739:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4484,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19739:79:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4485,
                  "nodeType": "ExpressionStatement",
                  "src": "19739:79:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCode",
            "nameLocation": "19467:10:5",
            "parameters": {
              "id": 4464,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4463,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "19492:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4487,
                  "src": "19478:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4462,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "19478:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19477:20:5"
            },
            "returnParameters": {
              "id": 4467,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4466,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "19532:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4487,
                  "src": "19524:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4465,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "19524:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19523:14:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4522,
            "nodeType": "FunctionDefinition",
            "src": "19887:439:5",
            "body": {
              "id": 4521,
              "nodeType": "Block",
              "src": "19999:327:5",
              "statements": [
                {
                  "assignments": [
                    4500
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4500,
                      "mutability": "mutable",
                      "name": "bytecode",
                      "nameLocation": "20022:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4521,
                      "src": "20009:21:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4499,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "20009:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4509,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 4505,
                            "name": "what",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4490,
                            "src": "20061:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "expression": {
                            "id": 4503,
                            "name": "vm",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2699,
                            "src": "20050:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_VmSafe_$7990",
                              "typeString": "contract VmSafe"
                            }
                          },
                          "id": 4504,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "20053:7:5",
                          "memberName": "getCode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7732,
                          "src": "20050:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (string memory) external returns (bytes memory)"
                          }
                        },
                        "id": 4506,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "20050:16:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 4507,
                        "name": "args",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4492,
                        "src": "20068:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 4501,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "20033:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 4502,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "20037:12:5",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "20033:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 4508,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20033:40:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "20009:64:5"
                },
                {
                  "AST": {
                    "nodeType": "YulBlock",
                    "src": "20135:81:5",
                    "statements": [
                      {
                        "nodeType": "YulAssignment",
                        "src": "20149:57:5",
                        "value": {
                          "arguments": [
                            {
                              "name": "val",
                              "nodeType": "YulIdentifier",
                              "src": "20164:3:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nodeType": "YulIdentifier",
                                  "src": "20173:8:5"
                                },
                                {
                                  "kind": "number",
                                  "nodeType": "YulLiteral",
                                  "src": "20183:4:5",
                                  "type": "",
                                  "value": "0x20"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nodeType": "YulIdentifier",
                                "src": "20169:3:5"
                              },
                              "nodeType": "YulFunctionCall",
                              "src": "20169:19:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nodeType": "YulIdentifier",
                                  "src": "20196:8:5"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nodeType": "YulIdentifier",
                                "src": "20190:5:5"
                              },
                              "nodeType": "YulFunctionCall",
                              "src": "20190:15:5"
                            }
                          ],
                          "functionName": {
                            "name": "create",
                            "nodeType": "YulIdentifier",
                            "src": "20157:6:5"
                          },
                          "nodeType": "YulFunctionCall",
                          "src": "20157:49:5"
                        },
                        "variableNames": [
                          {
                            "name": "addr",
                            "nodeType": "YulIdentifier",
                            "src": "20149:4:5"
                          }
                        ]
                      }
                    ]
                  },
                  "documentation": "@solidity memory-safe-assembly",
                  "evmVersion": "london",
                  "externalReferences": [
                    {
                      "declaration": 4497,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "20149:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4500,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "20173:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4500,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "20196:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4494,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "20164:3:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 4510,
                  "nodeType": "InlineAssembly",
                  "src": "20126:90:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4517,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4512,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4497,
                          "src": "20234:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4515,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "20250:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4514,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "20242:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4513,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "20242:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4516,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "20242:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "20234:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e",
                        "id": 4518,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "20254:64:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0",
                          "typeString": "literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""
                        },
                        "value": "StdCheats deployCode(string,bytes,uint256): Deployment failed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0",
                          "typeString": "literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""
                        }
                      ],
                      "id": 4511,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "20226:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4519,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20226:93:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4520,
                  "nodeType": "ExpressionStatement",
                  "src": "20226:93:5"
                }
              ]
            },
            "documentation": {
              "id": 4488,
              "nodeType": "StructuredDocumentation",
              "src": "19831:51:5",
              "text": "@dev deploy contract with value on construction"
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCode",
            "nameLocation": "19896:10:5",
            "parameters": {
              "id": 4495,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4490,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "19921:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4522,
                  "src": "19907:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4489,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "19907:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4492,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "19940:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4522,
                  "src": "19927:17:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4491,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "19927:5:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4494,
                  "mutability": "mutable",
                  "name": "val",
                  "nameLocation": "19954:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4522,
                  "src": "19946:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4493,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19946:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19906:52:5"
            },
            "returnParameters": {
              "id": 4498,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4497,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "19993:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4522,
                  "src": "19985:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4496,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "19985:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19984:14:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4550,
            "nodeType": "FunctionDefinition",
            "src": "20332:390:5",
            "body": {
              "id": 4549,
              "nodeType": "Block",
              "src": "20425:297:5",
              "statements": [
                {
                  "assignments": [
                    4532
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4532,
                      "mutability": "mutable",
                      "name": "bytecode",
                      "nameLocation": "20448:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4549,
                      "src": "20435:21:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4531,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "20435:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4537,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4535,
                        "name": "what",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4524,
                        "src": "20470:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 4533,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "20459:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 4534,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "20462:7:5",
                      "memberName": "getCode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7732,
                      "src": "20459:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory) external returns (bytes memory)"
                      }
                    },
                    "id": 4536,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20459:16:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "20435:40:5"
                },
                {
                  "AST": {
                    "nodeType": "YulBlock",
                    "src": "20537:81:5",
                    "statements": [
                      {
                        "nodeType": "YulAssignment",
                        "src": "20551:57:5",
                        "value": {
                          "arguments": [
                            {
                              "name": "val",
                              "nodeType": "YulIdentifier",
                              "src": "20566:3:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nodeType": "YulIdentifier",
                                  "src": "20575:8:5"
                                },
                                {
                                  "kind": "number",
                                  "nodeType": "YulLiteral",
                                  "src": "20585:4:5",
                                  "type": "",
                                  "value": "0x20"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nodeType": "YulIdentifier",
                                "src": "20571:3:5"
                              },
                              "nodeType": "YulFunctionCall",
                              "src": "20571:19:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nodeType": "YulIdentifier",
                                  "src": "20598:8:5"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nodeType": "YulIdentifier",
                                "src": "20592:5:5"
                              },
                              "nodeType": "YulFunctionCall",
                              "src": "20592:15:5"
                            }
                          ],
                          "functionName": {
                            "name": "create",
                            "nodeType": "YulIdentifier",
                            "src": "20559:6:5"
                          },
                          "nodeType": "YulFunctionCall",
                          "src": "20559:49:5"
                        },
                        "variableNames": [
                          {
                            "name": "addr",
                            "nodeType": "YulIdentifier",
                            "src": "20551:4:5"
                          }
                        ]
                      }
                    ]
                  },
                  "documentation": "@solidity memory-safe-assembly",
                  "evmVersion": "london",
                  "externalReferences": [
                    {
                      "declaration": 4529,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "20551:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4532,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "20575:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4532,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "20598:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4526,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "20566:3:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 4538,
                  "nodeType": "InlineAssembly",
                  "src": "20528:90:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 4545,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4540,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4529,
                          "src": "20636:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 4543,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "20652:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 4542,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "20644:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 4541,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "20644:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4544,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "20644:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "20636:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e",
                        "id": 4546,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "20656:58:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2",
                          "typeString": "literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""
                        },
                        "value": "StdCheats deployCode(string,uint256): Deployment failed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2",
                          "typeString": "literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""
                        }
                      ],
                      "id": 4539,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "20628:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4547,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20628:87:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4548,
                  "nodeType": "ExpressionStatement",
                  "src": "20628:87:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCode",
            "nameLocation": "20341:10:5",
            "parameters": {
              "id": 4527,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4524,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "20366:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4550,
                  "src": "20352:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4523,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "20352:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4526,
                  "mutability": "mutable",
                  "name": "val",
                  "nameLocation": "20380:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4550,
                  "src": "20372:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4525,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "20372:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20351:33:5"
            },
            "returnParameters": {
              "id": 4530,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4529,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "20419:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4550,
                  "src": "20411:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4528,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20411:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20410:14:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4586,
            "nodeType": "FunctionDefinition",
            "src": "20795:242:5",
            "body": {
              "id": 4585,
              "nodeType": "Block",
              "src": "20899:138:5",
              "statements": [
                {
                  "expression": {
                    "id": 4569,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4559,
                      "name": "privateKey",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4557,
                      "src": "20909:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 4565,
                                  "name": "name",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4552,
                                  "src": "20957:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "expression": {
                                  "id": 4563,
                                  "name": "abi",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -1,
                                  "src": "20940:3:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_abi",
                                    "typeString": "abi"
                                  }
                                },
                                "id": 4564,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "20944:12:5",
                                "memberName": "encodePacked",
                                "nodeType": "MemberAccess",
                                "src": "20940:16:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function () pure returns (bytes memory)"
                                }
                              },
                              "id": 4566,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "20940:22:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 4562,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -8,
                            "src": "20930:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                              "typeString": "function (bytes memory) pure returns (bytes32)"
                            }
                          },
                          "id": 4567,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "20930:33:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "id": 4561,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "20922:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        },
                        "typeName": {
                          "id": 4560,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "20922:7:5",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 4568,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "20922:42:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "20909:55:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4570,
                  "nodeType": "ExpressionStatement",
                  "src": "20909:55:5"
                },
                {
                  "expression": {
                    "id": 4576,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4571,
                      "name": "addr",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4555,
                      "src": "20974:4:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 4574,
                          "name": "privateKey",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4557,
                          "src": "20989:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 4572,
                          "name": "vm",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2699,
                          "src": "20981:2:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_VmSafe_$7990",
                            "typeString": "contract VmSafe"
                          }
                        },
                        "id": 4573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "20984:4:5",
                        "memberName": "addr",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7570,
                        "src": "20981:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_address_$",
                          "typeString": "function (uint256) external returns (address)"
                        }
                      },
                      "id": 4575,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "20981:19:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "20974:26:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 4577,
                  "nodeType": "ExpressionStatement",
                  "src": "20974:26:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4581,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4555,
                        "src": "21019:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4582,
                        "name": "name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4552,
                        "src": "21025:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 4578,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2699,
                        "src": "21010:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_VmSafe_$7990",
                          "typeString": "contract VmSafe"
                        }
                      },
                      "id": 4580,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "21013:5:5",
                      "memberName": "label",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7746,
                      "src": "21010:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (address,string memory) external"
                      }
                    },
                    "id": 4583,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21010:20:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4584,
                  "nodeType": "ExpressionStatement",
                  "src": "21010:20:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "makeAddrAndKey",
            "nameLocation": "20804:14:5",
            "parameters": {
              "id": 4553,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4552,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "20833:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4586,
                  "src": "20819:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4551,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "20819:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20818:20:5"
            },
            "returnParameters": {
              "id": 4558,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4555,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "20873:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4586,
                  "src": "20865:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4554,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20865:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4557,
                  "mutability": "mutable",
                  "name": "privateKey",
                  "nameLocation": "20887:10:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4586,
                  "src": "20879:18:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4556,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "20879:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20864:34:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4601,
            "nodeType": "FunctionDefinition",
            "src": "21076:125:5",
            "body": {
              "id": 4600,
              "nodeType": "Block",
              "src": "21154:47:5",
              "statements": [
                {
                  "expression": {
                    "id": 4598,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "components": [
                        {
                          "id": 4593,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4591,
                          "src": "21165:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        null
                      ],
                      "id": 4594,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "21164:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$__$",
                        "typeString": "tuple(address,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 4596,
                          "name": "name",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4588,
                          "src": "21189:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 4595,
                        "name": "makeAddrAndKey",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4586,
                        "src": "21174:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$",
                          "typeString": "function (string memory) returns (address,uint256)"
                        }
                      },
                      "id": 4597,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21174:20:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$",
                        "typeString": "tuple(address,uint256)"
                      }
                    },
                    "src": "21164:30:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4599,
                  "nodeType": "ExpressionStatement",
                  "src": "21164:30:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "makeAddr",
            "nameLocation": "21085:8:5",
            "parameters": {
              "id": 4589,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4588,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "21108:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4601,
                  "src": "21094:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4587,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "21094:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21093:20:5"
            },
            "returnParameters": {
              "id": 4592,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4591,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "21148:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4601,
                  "src": "21140:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4590,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "21140:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21139:14:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4628,
            "nodeType": "FunctionDefinition",
            "src": "21207:253:5",
            "body": {
              "id": 4627,
              "nodeType": "Block",
              "src": "21359:101:5",
              "statements": [
                {
                  "expression": {
                    "id": 4618,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4612,
                      "name": "privateKey",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4610,
                      "src": "21369:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 4615,
                          "name": "mnemonic",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4603,
                          "src": "21395:8:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "id": 4616,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4605,
                          "src": "21405:5:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        ],
                        "expression": {
                          "id": 4613,
                          "name": "vm",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2699,
                          "src": "21382:2:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_VmSafe_$7990",
                            "typeString": "contract VmSafe"
                          }
                        },
                        "id": 4614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "21385:9:5",
                        "memberName": "deriveKey",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7935,
                        "src": "21382:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$",
                          "typeString": "function (string memory,uint32) external returns (uint256)"
                        }
                      },
                      "id": 4617,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21382:29:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "21369:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4619,
                  "nodeType": "ExpressionStatement",
                  "src": "21369:42:5"
                },
                {
                  "expression": {
                    "id": 4625,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4620,
                      "name": "who",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4608,
                      "src": "21421:3:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 4623,
                          "name": "privateKey",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4610,
                          "src": "21442:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 4621,
                          "name": "vm",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2699,
                          "src": "21427:2:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_VmSafe_$7990",
                            "typeString": "contract VmSafe"
                          }
                        },
                        "id": 4622,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "21430:11:5",
                        "memberName": "rememberKey",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7953,
                        "src": "21427:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_address_$",
                          "typeString": "function (uint256) external returns (address)"
                        }
                      },
                      "id": 4624,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21427:26:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "21421:32:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 4626,
                  "nodeType": "ExpressionStatement",
                  "src": "21421:32:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deriveRememberKey",
            "nameLocation": "21216:17:5",
            "parameters": {
              "id": 4606,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4603,
                  "mutability": "mutable",
                  "name": "mnemonic",
                  "nameLocation": "21248:8:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4628,
                  "src": "21234:22:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4602,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "21234:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4605,
                  "mutability": "mutable",
                  "name": "index",
                  "nameLocation": "21265:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4628,
                  "src": "21258:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 4604,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "21258:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21233:38:5"
            },
            "returnParameters": {
              "id": 4611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4608,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "21330:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4628,
                  "src": "21322:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4607,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "21322:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4610,
                  "mutability": "mutable",
                  "name": "privateKey",
                  "nameLocation": "21343:10:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4628,
                  "src": "21335:18:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4609,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "21335:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21321:33:5"
            },
            "scope": 4684,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4683,
            "nodeType": "FunctionDefinition",
            "src": "21466:269:5",
            "body": {
              "id": 4682,
              "nodeType": "Block",
              "src": "21534:201:5",
              "statements": [
                {
                  "assignments": [
                    4636
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4636,
                      "mutability": "mutable",
                      "name": "number",
                      "nameLocation": "21552:6:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4682,
                      "src": "21544:14:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 4635,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "21544:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4637,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "21544:14:5"
                },
                {
                  "body": {
                    "id": 4678,
                    "nodeType": "Block",
                    "src": "21607:99:5",
                    "statements": [
                      {
                        "expression": {
                          "id": 4676,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 4649,
                            "name": "number",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4636,
                            "src": "21621:6:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 4675,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 4650,
                              "name": "number",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4636,
                              "src": "21630:6:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 4674,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "baseExpression": {
                                          "id": 4655,
                                          "name": "b",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4630,
                                          "src": "21653:1:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        },
                                        "id": 4657,
                                        "indexExpression": {
                                          "id": 4656,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4639,
                                          "src": "21655:1:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "21653:4:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      ],
                                      "id": 4654,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "21647:5:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 4653,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21647:5:5",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 4658,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "21647:11:5",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  ],
                                  "id": 4652,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "21639:7:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint256_$",
                                    "typeString": "type(uint256)"
                                  },
                                  "typeName": {
                                    "id": 4651,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "21639:7:5",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 4659,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "21639:20:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "*",
                              "rightExpression": {
                                "components": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 4672,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "hexValue": "32",
                                      "id": 4660,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "21663:1:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_2_by_1",
                                        "typeString": "int_const 2"
                                      },
                                      "value": "2"
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "**",
                                    "rightExpression": {
                                      "components": [
                                        {
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "id": 4670,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "hexValue": "38",
                                            "id": 4661,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "21669:1:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_8_by_1",
                                              "typeString": "int_const 8"
                                            },
                                            "value": "8"
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "*",
                                          "rightExpression": {
                                            "components": [
                                              {
                                                "commonType": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                },
                                                "id": 4668,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                  "expression": {
                                                    "id": 4662,
                                                    "name": "b",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 4630,
                                                    "src": "21674:1:5",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_bytes_memory_ptr",
                                                      "typeString": "bytes memory"
                                                    }
                                                  },
                                                  "id": 4663,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "21676:6:5",
                                                  "memberName": "length",
                                                  "nodeType": "MemberAccess",
                                                  "src": "21674:8:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "-",
                                                "rightExpression": {
                                                  "components": [
                                                    {
                                                      "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                      },
                                                      "id": 4666,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "leftExpression": {
                                                        "id": 4664,
                                                        "name": "i",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4639,
                                                        "src": "21686:1:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_uint256",
                                                          "typeString": "uint256"
                                                        }
                                                      },
                                                      "nodeType": "BinaryOperation",
                                                      "operator": "+",
                                                      "rightExpression": {
                                                        "hexValue": "31",
                                                        "id": 4665,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "number",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21690:1:5",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_rational_1_by_1",
                                                          "typeString": "int_const 1"
                                                        },
                                                        "value": "1"
                                                      },
                                                      "src": "21686:5:5",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                      }
                                                    }
                                                  ],
                                                  "id": 4667,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "nodeType": "TupleExpression",
                                                  "src": "21685:7:5",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                "src": "21674:18:5",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              }
                                            ],
                                            "id": 4669,
                                            "isConstant": false,
                                            "isInlineArray": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "TupleExpression",
                                            "src": "21673:20:5",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "src": "21669:24:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "id": 4671,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "TupleExpression",
                                      "src": "21668:26:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "21663:31:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "id": 4673,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "21662:33:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "21639:56:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "21630:65:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "21621:74:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4677,
                        "nodeType": "ExpressionStatement",
                        "src": "21621:74:5"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4645,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 4642,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4639,
                      "src": "21588:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 4643,
                        "name": "b",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4630,
                        "src": "21592:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 4644,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "21594:6:5",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "21592:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "21588:12:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4679,
                  "initializationExpression": {
                    "assignments": [
                      4639
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4639,
                        "mutability": "mutable",
                        "name": "i",
                        "nameLocation": "21581:1:5",
                        "nodeType": "VariableDeclaration",
                        "scope": 4679,
                        "src": "21573:9:5",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4638,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "21573:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 4641,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 4640,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "21585:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "21573:13:5"
                  },
                  "loopExpression": {
                    "expression": {
                      "id": 4647,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "21602:3:5",
                      "subExpression": {
                        "id": 4646,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4639,
                        "src": "21602:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4648,
                    "nodeType": "ExpressionStatement",
                    "src": "21602:3:5"
                  },
                  "nodeType": "ForStatement",
                  "src": "21568:138:5"
                },
                {
                  "expression": {
                    "id": 4680,
                    "name": "number",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4636,
                    "src": "21722:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 4634,
                  "id": 4681,
                  "nodeType": "Return",
                  "src": "21715:13:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "bytesToUint",
            "nameLocation": "21475:11:5",
            "parameters": {
              "id": 4631,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4630,
                  "mutability": "mutable",
                  "name": "b",
                  "nameLocation": "21500:1:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4683,
                  "src": "21487:14:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4629,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "21487:5:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21486:16:5"
            },
            "returnParameters": {
              "id": 4634,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4633,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4683,
                  "src": "21525:7:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4632,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "21525:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21524:9:5"
            },
            "scope": 4684,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          }
        ],
        "abstract": true,
        "baseContracts": [],
        "canonicalName": "StdCheatsSafe",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          4684
        ],
        "name": "StdCheatsSafe",
        "nameLocation": "165:13:5",
        "scope": 5074,
        "usedErrors": []
      },
      {
        "id": 5073,
        "nodeType": "ContractDefinition",
        "src": "21787:3156:5",
        "nodes": [
          {
            "id": 4690,
            "nodeType": "UsingForDirective",
            "src": "21838:32:5",
            "global": false,
            "libraryName": {
              "id": 4687,
              "name": "stdStorage",
              "nameLocations": [
                "21844:10:5"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 7106,
              "src": "21844:10:5"
            },
            "typeName": {
              "id": 4689,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 4688,
                "name": "StdStorage",
                "nameLocations": [
                  "21859:10:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 5672,
                "src": "21859:10:5"
              },
              "referencedDeclaration": 5672,
              "src": "21859:10:5",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_StdStorage_$5672_storage_ptr",
                "typeString": "struct StdStorage"
              }
            }
          },
          {
            "id": 4693,
            "nodeType": "VariableDeclaration",
            "src": "21876:27:5",
            "constant": false,
            "mutability": "mutable",
            "name": "stdstore",
            "nameLocation": "21895:8:5",
            "scope": 5073,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_StdStorage_$5672_storage",
              "typeString": "struct StdStorage"
            },
            "typeName": {
              "id": 4692,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 4691,
                "name": "StdStorage",
                "nameLocations": [
                  "21876:10:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 5672,
                "src": "21876:10:5"
              },
              "referencedDeclaration": 5672,
              "src": "21876:10:5",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_StdStorage_$5672_storage_ptr",
                "typeString": "struct StdStorage"
              }
            },
            "visibility": "private"
          },
          {
            "id": 4710,
            "nodeType": "VariableDeclaration",
            "src": "21909:84:5",
            "constant": true,
            "mutability": "constant",
            "name": "vm",
            "nameLocation": "21929:2:5",
            "scope": 5073,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Vm_$8315",
              "typeString": "contract Vm"
            },
            "typeName": {
              "id": 4695,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 4694,
                "name": "Vm",
                "nameLocations": [
                  "21909:2:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 8315,
                "src": "21909:2:5"
              },
              "referencedDeclaration": 8315,
              "src": "21909:2:5",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Vm_$8315",
                "typeString": "contract Vm"
              }
            },
            "value": {
              "arguments": [
                {
                  "arguments": [
                    {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "6865766d20636865617420636f6465",
                                  "id": 4704,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "21971:17:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
                                    "typeString": "literal_string \"hevm cheat code\""
                                  },
                                  "value": "hevm cheat code"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
                                    "typeString": "literal_string \"hevm cheat code\""
                                  }
                                ],
                                "id": 4703,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -8,
                                "src": "21961:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes memory) pure returns (bytes32)"
                                }
                              },
                              "id": 4705,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "21961:28:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 4702,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "21953:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 4701,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "21953:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4706,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "21953:37:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 4700,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "21945:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint160_$",
                          "typeString": "type(uint160)"
                        },
                        "typeName": {
                          "id": 4699,
                          "name": "uint160",
                          "nodeType": "ElementaryTypeName",
                          "src": "21945:7:5",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 4707,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21945:46:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint160",
                        "typeString": "uint160"
                      }
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_uint160",
                        "typeString": "uint160"
                      }
                    ],
                    "id": 4698,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "nodeType": "ElementaryTypeNameExpression",
                    "src": "21937:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_type$_t_address_$",
                      "typeString": "type(address)"
                    },
                    "typeName": {
                      "id": 4697,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "21937:7:5",
                      "typeDescriptions": {}
                    }
                  },
                  "id": 4708,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "typeConversion",
                  "lValueRequested": false,
                  "nameLocations": [],
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "21937:55:5",
                  "tryCall": false,
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                ],
                "id": 4696,
                "name": "Vm",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 8315,
                "src": "21934:2:5",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_contract$_Vm_$8315_$",
                  "typeString": "type(contract Vm)"
                }
              },
              "id": 4709,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "nameLocations": [],
              "names": [],
              "nodeType": "FunctionCall",
              "src": "21934:59:5",
              "tryCall": false,
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Vm_$8315",
                "typeString": "contract Vm"
              }
            },
            "visibility": "private"
          },
          {
            "id": 4725,
            "nodeType": "FunctionDefinition",
            "src": "22070:93:5",
            "body": {
              "id": 4724,
              "nodeType": "Block",
              "src": "22115:48:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 4721,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 4718,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "22133:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 4719,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "22139:9:5",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "22133:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "id": 4720,
                          "name": "time",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4712,
                          "src": "22151:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "22133:22:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4715,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22125:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4717,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22128:4:5",
                      "memberName": "warp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7997,
                      "src": "22125:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 4722,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22125:31:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4723,
                  "nodeType": "ExpressionStatement",
                  "src": "22125:31:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "skip",
            "nameLocation": "22079:4:5",
            "parameters": {
              "id": 4713,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4712,
                  "mutability": "mutable",
                  "name": "time",
                  "nameLocation": "22092:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4725,
                  "src": "22084:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4711,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22084:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22083:14:5"
            },
            "returnParameters": {
              "id": 4714,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22115:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4740,
            "nodeType": "FunctionDefinition",
            "src": "22169:95:5",
            "body": {
              "id": 4739,
              "nodeType": "Block",
              "src": "22216:48:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 4736,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 4733,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "22234:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 4734,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "22240:9:5",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "22234:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "id": 4735,
                          "name": "time",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4727,
                          "src": "22252:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "22234:22:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4730,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22226:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4732,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22229:4:5",
                      "memberName": "warp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7997,
                      "src": "22226:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 4737,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22226:31:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4738,
                  "nodeType": "ExpressionStatement",
                  "src": "22226:31:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rewind",
            "nameLocation": "22178:6:5",
            "parameters": {
              "id": 4728,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4727,
                  "mutability": "mutable",
                  "name": "time",
                  "nameLocation": "22193:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4740,
                  "src": "22185:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4726,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22185:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22184:14:5"
            },
            "returnParameters": {
              "id": 4729,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22216:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4761,
            "nodeType": "FunctionDefinition",
            "src": "22327:106:5",
            "body": {
              "id": 4760,
              "nodeType": "Block",
              "src": "22371:62:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4748,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4742,
                        "src": "22389:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        },
                        "id": 4751,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "hexValue": "31",
                          "id": 4749,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "22394:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<<",
                        "rightExpression": {
                          "hexValue": "313238",
                          "id": 4750,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "22399:3:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_128_by_1",
                            "typeString": "int_const 128"
                          },
                          "value": "128"
                        },
                        "src": "22394:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      ],
                      "expression": {
                        "id": 4745,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22381:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4747,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22384:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "22381:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4752,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22381:22:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4753,
                  "nodeType": "ExpressionStatement",
                  "src": "22381:22:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4757,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4742,
                        "src": "22422:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4754,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22413:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4756,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22416:5:5",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8038,
                      "src": "22413:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 4758,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22413:13:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4759,
                  "nodeType": "ExpressionStatement",
                  "src": "22413:13:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hoax",
            "nameLocation": "22336:4:5",
            "parameters": {
              "id": 4743,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4742,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "22349:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4761,
                  "src": "22341:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4741,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22341:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22340:13:5"
            },
            "returnParameters": {
              "id": 4744,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22371:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4782,
            "nodeType": "FunctionDefinition",
            "src": "22439:116:5",
            "body": {
              "id": 4781,
              "nodeType": "Block",
              "src": "22497:58:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4771,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4763,
                        "src": "22515:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4772,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4765,
                        "src": "22520:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4768,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22507:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4770,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22510:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "22507:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4773,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22507:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4774,
                  "nodeType": "ExpressionStatement",
                  "src": "22507:18:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4778,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4763,
                        "src": "22544:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4775,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22535:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4777,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22538:5:5",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8038,
                      "src": "22535:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 4779,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22535:13:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4780,
                  "nodeType": "ExpressionStatement",
                  "src": "22535:13:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hoax",
            "nameLocation": "22448:4:5",
            "parameters": {
              "id": 4766,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4763,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "22461:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4782,
                  "src": "22453:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4762,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22453:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4765,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "22474:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4782,
                  "src": "22466:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4764,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22466:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22452:27:5"
            },
            "returnParameters": {
              "id": 4767,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22497:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4806,
            "nodeType": "FunctionDefinition",
            "src": "22561:130:5",
            "body": {
              "id": 4805,
              "nodeType": "Block",
              "src": "22621:70:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4792,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4784,
                        "src": "22639:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        },
                        "id": 4795,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "hexValue": "31",
                          "id": 4793,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "22644:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<<",
                        "rightExpression": {
                          "hexValue": "313238",
                          "id": 4794,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "22649:3:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_128_by_1",
                            "typeString": "int_const 128"
                          },
                          "value": "128"
                        },
                        "src": "22644:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      ],
                      "expression": {
                        "id": 4789,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22631:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4791,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22634:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "22631:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4796,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22631:22:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4797,
                  "nodeType": "ExpressionStatement",
                  "src": "22631:22:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4801,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4784,
                        "src": "22672:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4802,
                        "name": "origin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4786,
                        "src": "22677:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4798,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22663:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4800,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22666:5:5",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8050,
                      "src": "22663:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 4803,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22663:21:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4804,
                  "nodeType": "ExpressionStatement",
                  "src": "22663:21:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hoax",
            "nameLocation": "22570:4:5",
            "parameters": {
              "id": 4787,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4784,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "22583:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4806,
                  "src": "22575:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4783,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22575:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4786,
                  "mutability": "mutable",
                  "name": "origin",
                  "nameLocation": "22596:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4806,
                  "src": "22588:14:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4785,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22588:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22574:29:5"
            },
            "returnParameters": {
              "id": 4788,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22621:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4830,
            "nodeType": "FunctionDefinition",
            "src": "22697:140:5",
            "body": {
              "id": 4829,
              "nodeType": "Block",
              "src": "22771:66:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4818,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4808,
                        "src": "22789:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4819,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4812,
                        "src": "22794:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4815,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22781:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4817,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22784:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "22781:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4820,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22781:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4821,
                  "nodeType": "ExpressionStatement",
                  "src": "22781:18:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4825,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4808,
                        "src": "22818:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4826,
                        "name": "origin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4810,
                        "src": "22823:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4822,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22809:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4824,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22812:5:5",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8050,
                      "src": "22809:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 4827,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22809:21:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4828,
                  "nodeType": "ExpressionStatement",
                  "src": "22809:21:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hoax",
            "nameLocation": "22706:4:5",
            "parameters": {
              "id": 4813,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4808,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "22719:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4830,
                  "src": "22711:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4807,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22711:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4810,
                  "mutability": "mutable",
                  "name": "origin",
                  "nameLocation": "22732:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4830,
                  "src": "22724:14:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4809,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22724:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4812,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "22748:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4830,
                  "src": "22740:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4811,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "22740:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22710:43:5"
            },
            "returnParameters": {
              "id": 4814,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22771:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4851,
            "nodeType": "FunctionDefinition",
            "src": "22908:116:5",
            "body": {
              "id": 4850,
              "nodeType": "Block",
              "src": "22957:67:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4838,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4832,
                        "src": "22975:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        },
                        "id": 4841,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "hexValue": "31",
                          "id": 4839,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "22980:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<<",
                        "rightExpression": {
                          "hexValue": "313238",
                          "id": 4840,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "22985:3:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_128_by_1",
                            "typeString": "int_const 128"
                          },
                          "value": "128"
                        },
                        "src": "22980:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      ],
                      "expression": {
                        "id": 4835,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22967:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4837,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22970:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "22967:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4842,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22967:22:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4843,
                  "nodeType": "ExpressionStatement",
                  "src": "22967:22:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4847,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4832,
                        "src": "23013:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4844,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "22999:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4846,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23002:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8043,
                      "src": "22999:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 4848,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22999:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4849,
                  "nodeType": "ExpressionStatement",
                  "src": "22999:18:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "startHoax",
            "nameLocation": "22917:9:5",
            "parameters": {
              "id": 4833,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4832,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "22935:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4851,
                  "src": "22927:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4831,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22927:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "22926:13:5"
            },
            "returnParameters": {
              "id": 4834,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22957:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4872,
            "nodeType": "FunctionDefinition",
            "src": "23030:126:5",
            "body": {
              "id": 4871,
              "nodeType": "Block",
              "src": "23093:63:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4861,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4853,
                        "src": "23111:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4862,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4855,
                        "src": "23116:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4858,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23103:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4860,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23106:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "23103:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4863,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23103:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4864,
                  "nodeType": "ExpressionStatement",
                  "src": "23103:18:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4868,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4853,
                        "src": "23145:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4865,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23131:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4867,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23134:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8043,
                      "src": "23131:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 4869,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23131:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4870,
                  "nodeType": "ExpressionStatement",
                  "src": "23131:18:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "startHoax",
            "nameLocation": "23039:9:5",
            "parameters": {
              "id": 4856,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4853,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "23057:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4872,
                  "src": "23049:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4852,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23049:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4855,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "23070:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4872,
                  "src": "23062:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4854,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "23062:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23048:27:5"
            },
            "returnParameters": {
              "id": 4857,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23093:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4896,
            "nodeType": "FunctionDefinition",
            "src": "23275:140:5",
            "body": {
              "id": 4895,
              "nodeType": "Block",
              "src": "23340:75:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4882,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4874,
                        "src": "23358:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        },
                        "id": 4885,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "hexValue": "31",
                          "id": 4883,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "23363:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<<",
                        "rightExpression": {
                          "hexValue": "313238",
                          "id": 4884,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "23368:3:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_128_by_1",
                            "typeString": "int_const 128"
                          },
                          "value": "128"
                        },
                        "src": "23363:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      ],
                      "expression": {
                        "id": 4879,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23350:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4881,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23353:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "23350:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4886,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23350:22:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4887,
                  "nodeType": "ExpressionStatement",
                  "src": "23350:22:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4891,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4874,
                        "src": "23396:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4892,
                        "name": "origin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4876,
                        "src": "23401:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4888,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23382:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4890,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23385:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8057,
                      "src": "23382:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 4893,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23382:26:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4894,
                  "nodeType": "ExpressionStatement",
                  "src": "23382:26:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "startHoax",
            "nameLocation": "23284:9:5",
            "parameters": {
              "id": 4877,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4874,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "23302:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4896,
                  "src": "23294:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4873,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23294:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4876,
                  "mutability": "mutable",
                  "name": "origin",
                  "nameLocation": "23315:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4896,
                  "src": "23307:14:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4875,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23307:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23293:29:5"
            },
            "returnParameters": {
              "id": 4878,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23340:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4920,
            "nodeType": "FunctionDefinition",
            "src": "23421:150:5",
            "body": {
              "id": 4919,
              "nodeType": "Block",
              "src": "23500:71:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4908,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4898,
                        "src": "23518:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4909,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4902,
                        "src": "23523:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4905,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23510:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4907,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23513:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "23510:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4910,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23510:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4911,
                  "nodeType": "ExpressionStatement",
                  "src": "23510:18:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4915,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4898,
                        "src": "23552:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4916,
                        "name": "origin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4900,
                        "src": "23557:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4912,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23538:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4914,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23541:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8057,
                      "src": "23538:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 4917,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23538:26:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4918,
                  "nodeType": "ExpressionStatement",
                  "src": "23538:26:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "startHoax",
            "nameLocation": "23430:9:5",
            "parameters": {
              "id": 4903,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4898,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "23448:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4920,
                  "src": "23440:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4897,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23440:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4900,
                  "mutability": "mutable",
                  "name": "origin",
                  "nameLocation": "23461:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4920,
                  "src": "23453:14:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4899,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23453:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4902,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "23477:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4920,
                  "src": "23469:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4901,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "23469:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23439:43:5"
            },
            "returnParameters": {
              "id": 4904,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23500:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4937,
            "nodeType": "FunctionDefinition",
            "src": "23577:110:5",
            "body": {
              "id": 4936,
              "nodeType": "Block",
              "src": "23628:59:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 4925,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23638:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4927,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23641:9:5",
                      "memberName": "stopPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8060,
                      "src": "23638:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 4928,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23638:14:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4929,
                  "nodeType": "ExpressionStatement",
                  "src": "23638:14:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4933,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4922,
                        "src": "23676:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 4930,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23662:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4932,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23665:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8043,
                      "src": "23662:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 4934,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23662:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4935,
                  "nodeType": "ExpressionStatement",
                  "src": "23662:18:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "changePrank",
            "nameLocation": "23586:11:5",
            "parameters": {
              "id": 4923,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4922,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "23606:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4937,
                  "src": "23598:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4921,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23598:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23597:13:5"
            },
            "returnParameters": {
              "id": 4924,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23628:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4952,
            "nodeType": "FunctionDefinition",
            "src": "23778:91:5",
            "body": {
              "id": 4951,
              "nodeType": "Block",
              "src": "23835:34:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4947,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4939,
                        "src": "23853:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4948,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4941,
                        "src": "23857:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 4944,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4710,
                        "src": "23845:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4946,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "23848:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "23845:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 4949,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23845:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4950,
                  "nodeType": "ExpressionStatement",
                  "src": "23845:17:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deal",
            "nameLocation": "23787:4:5",
            "parameters": {
              "id": 4942,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4939,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "23800:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4952,
                  "src": "23792:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4938,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23792:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4941,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "23812:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4952,
                  "src": "23804:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4940,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "23804:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23791:26:5"
            },
            "returnParameters": {
              "id": 4943,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23835:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4969,
            "nodeType": "FunctionDefinition",
            "src": "23993:117:5",
            "body": {
              "id": 4968,
              "nodeType": "Block",
              "src": "24065:45:5",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4962,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4954,
                        "src": "24080:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4963,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4956,
                        "src": "24087:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4964,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4958,
                        "src": "24091:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "hexValue": "66616c7365",
                        "id": 4965,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "24097:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 4961,
                      "name": "deal",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4952,
                        4969,
                        5072
                      ],
                      "referencedDeclaration": 5072,
                      "src": "24075:4:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (address,address,uint256,bool)"
                      }
                    },
                    "id": 4966,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24075:28:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4967,
                  "nodeType": "ExpressionStatement",
                  "src": "24075:28:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deal",
            "nameLocation": "24002:4:5",
            "parameters": {
              "id": 4959,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4954,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "24015:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4969,
                  "src": "24007:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4953,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24007:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4956,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "24030:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4969,
                  "src": "24022:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4955,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24022:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4958,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "24042:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4969,
                  "src": "24034:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4957,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "24034:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24006:41:5"
            },
            "returnParameters": {
              "id": 4960,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24065:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5072,
            "nodeType": "FunctionDefinition",
            "src": "24116:825:5",
            "body": {
              "id": 5071,
              "nodeType": "Block",
              "src": "24201:740:5",
              "statements": [
                {
                  "assignments": [
                    null,
                    4981
                  ],
                  "declarations": [
                    null,
                    {
                      "constant": false,
                      "id": 4981,
                      "mutability": "mutable",
                      "name": "balData",
                      "nameLocation": "24258:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5071,
                      "src": "24245:20:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4980,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "24245:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4990,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "30783730613038323331",
                            "id": 4986,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "24303:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1889567281_by_1",
                              "typeString": "int_const 1889567281"
                            },
                            "value": "0x70a08231"
                          },
                          {
                            "id": 4987,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4973,
                            "src": "24315:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1889567281_by_1",
                              "typeString": "int_const 1889567281"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "id": 4984,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "24280:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4985,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "24284:18:5",
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "src": "24280:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 4988,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "24280:38:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 4982,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4971,
                        "src": "24269:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 4983,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24275:4:5",
                      "memberName": "call",
                      "nodeType": "MemberAccess",
                      "src": "24269:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                      }
                    },
                    "id": 4989,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24269:50:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "24242:77:5"
                },
                {
                  "assignments": [
                    4992
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4992,
                      "mutability": "mutable",
                      "name": "prevBal",
                      "nameLocation": "24337:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5071,
                      "src": "24329:15:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 4991,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "24329:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5000,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 4995,
                        "name": "balData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4981,
                        "src": "24358:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 4997,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "24368:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 4996,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "24368:7:5",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 4998,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "24367:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      ],
                      "expression": {
                        "id": 4993,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "24347:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 4994,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "24351:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "24347:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 4999,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24347:30:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "24329:48:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5013,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4975,
                        "src": "24480:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 5010,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4973,
                            "src": "24462:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "arguments": [
                              {
                                "hexValue": "30783730613038323331",
                                "id": 5007,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "24441:10:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1889567281_by_1",
                                  "typeString": "int_const 1889567281"
                                },
                                "value": "0x70a08231"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1889567281_by_1",
                                  "typeString": "int_const 1889567281"
                                }
                              ],
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 5004,
                                    "name": "token",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4971,
                                    "src": "24430:5:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "expression": {
                                    "id": 5001,
                                    "name": "stdstore",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4693,
                                    "src": "24414:8:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_StdStorage_$5672_storage",
                                      "typeString": "struct StdStorage storage ref"
                                    }
                                  },
                                  "id": 5003,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "24423:6:5",
                                  "memberName": "target",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 6627,
                                  "src": "24414:15:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$5672_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$5672_storage_ptr_$bound_to$_t_struct$_StdStorage_$5672_storage_ptr_$",
                                    "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                  }
                                },
                                "id": 5005,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "24414:22:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_StdStorage_$5672_storage_ptr",
                                  "typeString": "struct StdStorage storage pointer"
                                }
                              },
                              "id": 5006,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "24437:3:5",
                              "memberName": "sig",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 6645,
                              "src": "24414:26:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$5672_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$5672_storage_ptr_$bound_to$_t_struct$_StdStorage_$5672_storage_ptr_$",
                                "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                              }
                            },
                            "id": 5008,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24414:38:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_StdStorage_$5672_storage_ptr",
                              "typeString": "struct StdStorage storage pointer"
                            }
                          },
                          "id": 5009,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "24453:8:5",
                          "memberName": "with_key",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 6681,
                          "src": "24414:47:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$5672_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$5672_storage_ptr_$bound_to$_t_struct$_StdStorage_$5672_storage_ptr_$",
                            "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                          }
                        },
                        "id": 5011,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "24414:51:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_StdStorage_$5672_storage_ptr",
                          "typeString": "struct StdStorage storage pointer"
                        }
                      },
                      "id": 5012,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24466:13:5",
                      "memberName": "checked_write",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6775,
                      "src": "24414:65:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$5672_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$5672_storage_ptr_$",
                        "typeString": "function (struct StdStorage storage pointer,uint256)"
                      }
                    },
                    "id": 5014,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24414:71:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5015,
                  "nodeType": "ExpressionStatement",
                  "src": "24414:71:5"
                },
                {
                  "condition": {
                    "id": 5016,
                    "name": "adjust",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4977,
                    "src": "24531:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5070,
                  "nodeType": "IfStatement",
                  "src": "24527:408:5",
                  "trueBody": {
                    "id": 5069,
                    "nodeType": "Block",
                    "src": "24539:396:5",
                    "statements": [
                      {
                        "assignments": [
                          null,
                          5018
                        ],
                        "declarations": [
                          null,
                          {
                            "constant": false,
                            "id": 5018,
                            "mutability": "mutable",
                            "name": "totSupData",
                            "nameLocation": "24569:10:5",
                            "nodeType": "VariableDeclaration",
                            "scope": 5069,
                            "src": "24556:23:5",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 5017,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "24556:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 5026,
                        "initialValue": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "30783138313630646464",
                                  "id": 5023,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "24617:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_404098525_by_1",
                                    "typeString": "int_const 404098525"
                                  },
                                  "value": "0x18160ddd"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_404098525_by_1",
                                    "typeString": "int_const 404098525"
                                  }
                                ],
                                "expression": {
                                  "id": 5021,
                                  "name": "abi",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -1,
                                  "src": "24594:3:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_abi",
                                    "typeString": "abi"
                                  }
                                },
                                "id": 5022,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "24598:18:5",
                                "memberName": "encodeWithSelector",
                                "nodeType": "MemberAccess",
                                "src": "24594:22:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes4) pure returns (bytes memory)"
                                }
                              },
                              "id": 5024,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "24594:34:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "id": 5019,
                              "name": "token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4971,
                              "src": "24583:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 5020,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "24589:4:5",
                            "memberName": "call",
                            "nodeType": "MemberAccess",
                            "src": "24583:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                              "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                            }
                          },
                          "id": 5025,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "24583:46:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                            "typeString": "tuple(bool,bytes memory)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "24553:76:5"
                      },
                      {
                        "assignments": [
                          5028
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 5028,
                            "mutability": "mutable",
                            "name": "totSup",
                            "nameLocation": "24651:6:5",
                            "nodeType": "VariableDeclaration",
                            "scope": 5069,
                            "src": "24643:14:5",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 5027,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "24643:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 5036,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 5031,
                              "name": "totSupData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5018,
                              "src": "24671:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "components": [
                                {
                                  "id": 5033,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "24684:7:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint256_$",
                                    "typeString": "type(uint256)"
                                  },
                                  "typeName": {
                                    "id": 5032,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "24684:7:5",
                                    "typeDescriptions": {}
                                  }
                                }
                              ],
                              "id": 5034,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "24683:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              }
                            ],
                            "expression": {
                              "id": 5029,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -1,
                              "src": "24660:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 5030,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "24664:6:5",
                            "memberName": "decode",
                            "nodeType": "MemberAccess",
                            "src": "24660:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 5035,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "24660:33:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "24643:50:5"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5039,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 5037,
                            "name": "give",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4975,
                            "src": "24711:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "id": 5038,
                            "name": "prevBal",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4992,
                            "src": "24718:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "24711:14:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 5055,
                          "nodeType": "Block",
                          "src": "24792:59:5",
                          "statements": [
                            {
                              "expression": {
                                "id": 5053,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 5048,
                                  "name": "totSup",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5028,
                                  "src": "24810:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "components": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 5051,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 5049,
                                        "name": "give",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4975,
                                        "src": "24821:4:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "-",
                                      "rightExpression": {
                                        "id": 5050,
                                        "name": "prevBal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4992,
                                        "src": "24828:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "24821:14:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 5052,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "24820:16:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "24810:26:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 5054,
                              "nodeType": "ExpressionStatement",
                              "src": "24810:26:5"
                            }
                          ]
                        },
                        "id": 5056,
                        "nodeType": "IfStatement",
                        "src": "24707:144:5",
                        "trueBody": {
                          "id": 5047,
                          "nodeType": "Block",
                          "src": "24727:59:5",
                          "statements": [
                            {
                              "expression": {
                                "id": 5045,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 5040,
                                  "name": "totSup",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5028,
                                  "src": "24745:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "-=",
                                "rightHandSide": {
                                  "components": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 5043,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 5041,
                                        "name": "prevBal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4992,
                                        "src": "24756:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "-",
                                      "rightExpression": {
                                        "id": 5042,
                                        "name": "give",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4975,
                                        "src": "24766:4:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "24756:14:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 5044,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "24755:16:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "24745:26:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 5046,
                              "nodeType": "ExpressionStatement",
                              "src": "24745:26:5"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 5066,
                              "name": "totSup",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5028,
                              "src": "24917:6:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "30783138313630646464",
                                  "id": 5063,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "24891:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_404098525_by_1",
                                    "typeString": "int_const 404098525"
                                  },
                                  "value": "0x18160ddd"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_404098525_by_1",
                                    "typeString": "int_const 404098525"
                                  }
                                ],
                                "expression": {
                                  "arguments": [
                                    {
                                      "id": 5060,
                                      "name": "token",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4971,
                                      "src": "24880:5:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "expression": {
                                      "id": 5057,
                                      "name": "stdstore",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4693,
                                      "src": "24864:8:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_StdStorage_$5672_storage",
                                        "typeString": "struct StdStorage storage ref"
                                      }
                                    },
                                    "id": 5059,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "24873:6:5",
                                    "memberName": "target",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 6627,
                                    "src": "24864:15:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$5672_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$5672_storage_ptr_$bound_to$_t_struct$_StdStorage_$5672_storage_ptr_$",
                                      "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                    }
                                  },
                                  "id": 5061,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "24864:22:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_StdStorage_$5672_storage_ptr",
                                    "typeString": "struct StdStorage storage pointer"
                                  }
                                },
                                "id": 5062,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "24887:3:5",
                                "memberName": "sig",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 6645,
                                "src": "24864:26:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$5672_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$5672_storage_ptr_$bound_to$_t_struct$_StdStorage_$5672_storage_ptr_$",
                                  "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                                }
                              },
                              "id": 5064,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "24864:38:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_StdStorage_$5672_storage_ptr",
                                "typeString": "struct StdStorage storage pointer"
                              }
                            },
                            "id": 5065,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "24903:13:5",
                            "memberName": "checked_write",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 6775,
                            "src": "24864:52:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$5672_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$5672_storage_ptr_$",
                              "typeString": "function (struct StdStorage storage pointer,uint256)"
                            }
                          },
                          "id": 5067,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "24864:60:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5068,
                        "nodeType": "ExpressionStatement",
                        "src": "24864:60:5"
                      }
                    ]
                  }
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deal",
            "nameLocation": "24125:4:5",
            "parameters": {
              "id": 4978,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4971,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "24138:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5072,
                  "src": "24130:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4970,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24130:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4973,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "24153:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5072,
                  "src": "24145:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4972,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24145:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4975,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "24165:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5072,
                  "src": "24157:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4974,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "24157:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4977,
                  "mutability": "mutable",
                  "name": "adjust",
                  "nameLocation": "24176:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5072,
                  "src": "24171:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4976,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "24171:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24129:54:5"
            },
            "returnParameters": {
              "id": 4979,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24201:0:5"
            },
            "scope": 5073,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          }
        ],
        "abstract": true,
        "baseContracts": [
          {
            "baseName": {
              "id": 4685,
              "name": "StdCheatsSafe",
              "nameLocations": [
                "21818:13:5"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 4684,
              "src": "21818:13:5"
            },
            "id": 4686,
            "nodeType": "InheritanceSpecifier",
            "src": "21818:13:5"
          }
        ],
        "canonicalName": "StdCheats",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          5073,
          4684
        ],
        "name": "StdCheats",
        "nameLocation": "21805:9:5",
        "scope": 5074,
        "usedErrors": []
      }
    ],
    "license": "MIT"
  },
  "id": 5
}