{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "oracleName",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "registry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentApproved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentArchived",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "componentName",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "registryAddress",
          "type": "address"
        }
      ],
      "name": "LogComponentCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentPaused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "componentName",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentResumed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentState",
          "name": "stateOld",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentState",
          "name": "stateNew",
          "type": "uint8"
        }
      ],
      "name": "LogComponentStateChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentSuspended",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentUnpaused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "LogOracleApproved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oracleAddress",
          "type": "address"
        }
      ],
      "name": "LogOracleCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "LogOracleDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "LogOracleProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "approvalCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "archiveCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "requestId",
          "type": "uint256"
        }
      ],
      "name": "cancel",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "declineCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getName",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRegistry",
      "outputs": [
        {
          "internalType": "contract IRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getState",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentState",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getType",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentType",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isOracle",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isProduct",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isRiskpool",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pauseCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proposalCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "requestId",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "input",
          "type": "bytes"
        }
      ],
      "name": "request",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "requestId",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "isLossEvent",
          "type": "bool"
        }
      ],
      "name": "respond",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "resumeCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "setId",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "suspendCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "unpauseCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "13": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
    "18": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol",
    "22": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol",
    "26": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/introspection/IERC165.sol",
    "29": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/Component.sol",
    "30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
    "31": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IOracle.sol",
    "34": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/Oracle.sol",
    "37": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol",
    "39": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol",
    "4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/Ownable.sol",
    "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol",
    "46": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol",
    "47": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceOperatorService.sol",
    "48": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol",
    "49": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IOracleService.sol",
    "50": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol",
    "51": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
    "53": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/tokens/IBundleToken.sol",
    "95": "contracts/test/TestOracle.sol"
  },
  "ast": {
    "absolutePath": "contracts/test/TestOracle.sol",
    "exportedSymbols": {
      "Component": [
        25407
      ],
      "Context": [
        24074
      ],
      "IAccess": [
        21938
      ],
      "IBundle": [
        20491
      ],
      "IBundleToken": [
        24052
      ],
      "IComponent": [
        22099
      ],
      "IComponentEvents": [
        22419
      ],
      "IComponentOwnerService": [
        23478
      ],
      "IERC165": [
        27203
      ],
      "IERC20": [
        18510
      ],
      "IERC721": [
        23745
      ],
      "IInstanceOperatorService": [
        23629
      ],
      "IInstanceService": [
        22849
      ],
      "IOracle": [
        22133
      ],
      "IOracleService": [
        23755
      ],
      "IPolicy": [
        20837
      ],
      "IPool": [
        21652
      ],
      "IProductService": [
        23900
      ],
      "IRegistry": [
        21750
      ],
      "IRiskpoolService": [
        24006
      ],
      "ITreasury": [
        23443
      ],
      "Oracle": [
        17368
      ],
      "Ownable": [
        20950
      ],
      "TestOracle": [
        16071
      ]
    },
    "id": 16072,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 15967,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:95"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/Oracle.sol",
        "file": "@etherisc/gif-interface/contracts/components/Oracle.sol",
        "id": 15968,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 16072,
        "sourceUnit": 17369,
        "src": "63:65:95",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 15969,
              "name": "Oracle",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 17368,
              "src": "153:6:95"
            },
            "id": 15970,
            "nodeType": "InheritanceSpecifier",
            "src": "153:6:95"
          }
        ],
        "contractDependencies": [
          17368,
          20950,
          22099,
          22133,
          22419,
          24074,
          25407
        ],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 16071,
        "linearizedBaseContracts": [
          16071,
          17368,
          25407,
          20950,
          24074,
          22419,
          22133,
          22099
        ],
        "name": "TestOracle",
        "nameLocation": "139:10:95",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 15981,
              "nodeType": "Block",
              "src": "280:3:95",
              "statements": []
            },
            "id": 15982,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 15977,
                    "name": "oracleName",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 15972,
                    "src": "254:10:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "id": 15978,
                    "name": "registry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 15974,
                    "src": "266:8:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 15979,
                "modifierName": {
                  "id": 15976,
                  "name": "Oracle",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17368,
                  "src": "247:6:95"
                },
                "nodeType": "ModifierInvocation",
                "src": "247:28:95"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15975,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15972,
                  "mutability": "mutable",
                  "name": "oracleName",
                  "nameLocation": "196:10:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 15982,
                  "src": "188:18:95",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 15971,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "188:7:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15974,
                  "mutability": "mutable",
                  "name": "registry",
                  "nameLocation": "224:8:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 15982,
                  "src": "216:16:95",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 15973,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "216:7:95",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "178:60:95"
            },
            "returnParameters": {
              "id": 15980,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "280:0:95"
            },
            "scope": 16071,
            "src": "167:116:95",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              22127
            ],
            "body": {
              "id": 16020,
              "nodeType": "Block",
              "src": "375:481:95",
              "statements": [
                {
                  "assignments": [
                    15993,
                    15995
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 15993,
                      "mutability": "mutable",
                      "name": "counter",
                      "nameLocation": "430:7:95",
                      "nodeType": "VariableDeclaration",
                      "scope": 16020,
                      "src": "422:15:95",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 15992,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "422:7:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 15995,
                      "mutability": "mutable",
                      "name": "immediateResponse",
                      "nameLocation": "444:17:95",
                      "nodeType": "VariableDeclaration",
                      "scope": 16020,
                      "src": "439:22:95",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 15994,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "439:4:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 16005,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 15998,
                        "name": "input",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15986,
                        "src": "476:5:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 16000,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "484:7:95",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 15999,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "484:7:95",
                              "typeDescriptions": {}
                            }
                          },
                          {
                            "id": 16002,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "493:4:95",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bool_$",
                              "typeString": "type(bool)"
                            },
                            "typeName": {
                              "id": 16001,
                              "name": "bool",
                              "nodeType": "ElementaryTypeName",
                              "src": "493:4:95",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 16003,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "483:15:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_bool_$_$",
                          "typeString": "tuple(type(uint256),type(bool))"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        },
                        {
                          "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_bool_$_$",
                          "typeString": "tuple(type(uint256),type(bool))"
                        }
                      ],
                      "expression": {
                        "id": 15996,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "465:3:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 15997,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "465:10:95",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 16004,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "465:34:95",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$",
                      "typeString": "tuple(uint256,bool)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "421:78:95"
                },
                {
                  "condition": {
                    "id": 16006,
                    "name": "immediateResponse",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 15995,
                    "src": "514:17:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 16019,
                  "nodeType": "IfStatement",
                  "src": "510:340:95",
                  "trueBody": {
                    "id": 16018,
                    "nodeType": "Block",
                    "src": "533:317:95",
                    "statements": [
                      {
                        "assignments": [
                          16008
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 16008,
                            "mutability": "mutable",
                            "name": "isLossEvent",
                            "nameLocation": "753:11:95",
                            "nodeType": "VariableDeclaration",
                            "scope": 16018,
                            "src": "748:16:95",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "typeName": {
                              "id": 16007,
                              "name": "bool",
                              "nodeType": "ElementaryTypeName",
                              "src": "748:4:95",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 16012,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 16010,
                              "name": "counter",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15993,
                              "src": "786:7:95",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 16009,
                            "name": "_oracleCalculation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 16070,
                            "src": "767:18:95",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256) returns (bool)"
                            }
                          },
                          "id": 16011,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "767:27:95",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "748:46:95"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 16014,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15984,
                              "src": "816:9:95",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 16015,
                              "name": "isLossEvent",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 16008,
                              "src": "827:11:95",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 16013,
                            "name": "respond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 16053,
                            "src": "808:7:95",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$returns$__$",
                              "typeString": "function (uint256,bool)"
                            }
                          },
                          "id": 16016,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "808:31:95",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 16017,
                        "nodeType": "ExpressionStatement",
                        "src": "808:31:95"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "ffc79065",
            "id": 16021,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 15990,
                "modifierName": {
                  "id": 15989,
                  "name": "onlyQuery",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17293,
                  "src": "365:9:95"
                },
                "nodeType": "ModifierInvocation",
                "src": "365:9:95"
              }
            ],
            "name": "request",
            "nameLocation": "298:7:95",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 15988,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "356:8:95"
            },
            "parameters": {
              "id": 15987,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15984,
                  "mutability": "mutable",
                  "name": "requestId",
                  "nameLocation": "314:9:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 16021,
                  "src": "306:17:95",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15983,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "306:7:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15986,
                  "mutability": "mutable",
                  "name": "input",
                  "nameLocation": "340:5:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 16021,
                  "src": "325:20:95",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 15985,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "325:5:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "305:41:95"
            },
            "returnParameters": {
              "id": 15991,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "375:0:95"
            },
            "scope": 16071,
            "src": "289:567:95",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              22132
            ],
            "body": {
              "id": 16029,
              "nodeType": "Block",
              "src": "945:131:95",
              "statements": []
            },
            "functionSelector": "40e58ee5",
            "id": 16030,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 16027,
                "modifierName": {
                  "id": 16026,
                  "name": "onlyOwner",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 20869,
                  "src": "931:9:95"
                },
                "nodeType": "ModifierInvocation",
                "src": "931:9:95"
              }
            ],
            "name": "cancel",
            "nameLocation": "871:6:95",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 16025,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "914:8:95"
            },
            "parameters": {
              "id": 16024,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16023,
                  "mutability": "mutable",
                  "name": "requestId",
                  "nameLocation": "886:9:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 16030,
                  "src": "878:17:95",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 16022,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "878:7:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "877:19:95"
            },
            "returnParameters": {
              "id": 16028,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "945:0:95"
            },
            "scope": 16071,
            "src": "862:214:95",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 16052,
              "nodeType": "Block",
              "src": "1301:197:95",
              "statements": [
                {
                  "assignments": [
                    16038
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 16038,
                      "mutability": "mutable",
                      "name": "output",
                      "nameLocation": "1368:6:95",
                      "nodeType": "VariableDeclaration",
                      "scope": 16052,
                      "src": "1355:19:95",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 16037,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "1355:5:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 16046,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 16043,
                            "name": "isLossEvent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 16034,
                            "src": "1393:11:95",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 16042,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1388:4:95",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bool_$",
                            "typeString": "type(bool)"
                          },
                          "typeName": {
                            "id": 16041,
                            "name": "bool",
                            "nodeType": "ElementaryTypeName",
                            "src": "1388:4:95",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 16044,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1388:17:95",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 16039,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "1377:3:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 16040,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "encode",
                      "nodeType": "MemberAccess",
                      "src": "1377:10:95",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 16045,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1377:29:95",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1355:51:95"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 16048,
                        "name": "requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 16032,
                        "src": "1473:9:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 16049,
                        "name": "output",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 16038,
                        "src": "1484:6:95",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 16047,
                      "name": "_respond",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17367,
                      "src": "1464:8:95",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,bytes memory)"
                      }
                    },
                    "id": 16050,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1464:27:95",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 16051,
                  "nodeType": "ExpressionStatement",
                  "src": "1464:27:95"
                }
              ]
            },
            "functionSelector": "a9c577c5",
            "id": 16053,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "respond",
            "nameLocation": "1236:7:95",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 16035,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16032,
                  "mutability": "mutable",
                  "name": "requestId",
                  "nameLocation": "1252:9:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 16053,
                  "src": "1244:17:95",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 16031,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1244:7:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 16034,
                  "mutability": "mutable",
                  "name": "isLossEvent",
                  "nameLocation": "1268:11:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 16053,
                  "src": "1263:16:95",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 16033,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1263:4:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1243:37:95"
            },
            "returnParameters": {
              "id": 16036,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1301:0:95"
            },
            "scope": 16071,
            "src": "1227:271:95",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 16069,
              "nodeType": "Block",
              "src": "1736:49:95",
              "statements": [
                {
                  "expression": {
                    "id": 16067,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 16060,
                      "name": "isLossEvent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 16058,
                      "src": "1746:11:95",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "components": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 16065,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 16063,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 16061,
                              "name": "counter",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 16055,
                              "src": "1761:7:95",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "%",
                            "rightExpression": {
                              "hexValue": "32",
                              "id": 16062,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1771:1:95",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_2_by_1",
                                "typeString": "int_const 2"
                              },
                              "value": "2"
                            },
                            "src": "1761:11:95",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "31",
                            "id": 16064,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1776:1:95",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "1761:16:95",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 16066,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "1760:18:95",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1746:32:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 16068,
                  "nodeType": "ExpressionStatement",
                  "src": "1746:32:95"
                }
              ]
            },
            "id": 16070,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_oracleCalculation",
            "nameLocation": "1664:18:95",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 16056,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16055,
                  "mutability": "mutable",
                  "name": "counter",
                  "nameLocation": "1691:7:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 16070,
                  "src": "1683:15:95",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 16054,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1683:7:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1682:17:95"
            },
            "returnParameters": {
              "id": 16059,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16058,
                  "mutability": "mutable",
                  "name": "isLossEvent",
                  "nameLocation": "1723:11:95",
                  "nodeType": "VariableDeclaration",
                  "scope": 16070,
                  "src": "1718:16:95",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 16057,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1718:4:95",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1717:18:95"
            },
            "scope": 16071,
            "src": "1655:130:95",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 16072,
        "src": "130:1661:95"
      }
    ],
    "src": "39:1752:95"
  },
  "bytecode": "60806040523480156200001157600080fd5b5060405162000f6138038062000f618339810160408190526200003491620003d6565b81818160008262000045336200025a565b6001600160a01b038116620000ac5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a434d502d3030343a52454749535452595f414444524553535f5a60448201526245524f60e81b606482015260840160405180910390fd5b60038054610100600160a81b0319166101006001600160a01b03841602179055620000d6620002aa565b600480546001600160a01b0319166001600160a01b039290921691909117905562000100620002c5565b600580546001600160a01b0319166001600160a01b03929092169190911790556200012a620002f2565b600680546001600160a01b0319166001600160a01b0392909216919091179055600183815560038054849260ff19909116908360028111156200017d57634e487b7160e01b600052602160045260246000fd5b02179055506001546003546040517f04a2dea3211d6352f30925875b6e2e984642f84e1bcffe65ffaa1b04c1197b7a92620001d192909160ff82169130916101009091046001600160a01b03169062000404565b60405180910390a1505050620001fd6c4f7261636c655365727669636560981b6200030c60201b60201c565b600780546001600160a01b0319166001600160a01b03929092169190911790556040513081527f77dee27cd265ac28cb5ba0d4f1a792ad0425ca4ae8bd0c6253b99ec26ac454109060200160405180910390a1505050506200044f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000620002c06541636365737360d01b6200030c565b905090565b6000620002c07f436f6d706f6e656e744f776e65725365727669636500000000000000000000006200030c565b6000620002c06e496e7374616e63655365727669636560881b5b600354604051631c2d8fb360e31b81526004810183905260009161010090046001600160a01b03169063e16c7d989060240160206040518083038186803b1580156200035757600080fd5b505afa1580156200036c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003929190620003b2565b90505b919050565b80516001600160a01b03811681146200039557600080fd5b600060208284031215620003c4578081fd5b620003cf826200039a565b9392505050565b60008060408385031215620003e9578081fd5b82519150620003fb602084016200039a565b90509250929050565b84815260808101600385106200042a57634e487b7160e01b600052602160045260246000fd5b60208201949094526001600160a01b0392831660408201529116606090910152919050565b610b02806200045f6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063be169e7e1161007c578063be169e7e146101d5578063d0e0ba951461026d578063d73cd992146101d5578063e0815f0d14610280578063f2fde38b14610288578063ffc790651461029b57610158565b80638da5cb5b146102395780639a82f8901461024a578063a18f5ae2146101d5578063a9c577c514610252578063b3fca9bd146101d5578063bd1fe5d01461026557610158565b806359dacc6a1161011557806359dacc6a146101d55780635ab1bd53146101dd5780635d1ca6311461020c578063638ce0ba14610214578063715018a61461021c578063893d20e81461022457610158565b806315dae03e1461015d57806317d7de7c146101795780631865c57d1461018b5780631b867c63146101a0578063258d560c146101aa57806340e58ee5146101c2575b600080fd5b60035460ff1660405161017091906109db565b60405180910390f35b6001545b604051908152602001610170565b6101936102ae565b60405161017091906109c1565b6101a8610334565b005b6101b261038c565b6040519015158152602001610170565b6101a86101d03660046108ff565b6103bc565b6101a86103c7565b6101f460035461010090046001600160a01b031690565b6040516001600160a01b039091168152602001610170565b60025461017d565b6101a8610411565b6101a861045e565b6101f4600080546001600160a01b031661032f565b6000546001600160a01b03166101f4565b6101b2610470565b6101a8610260366004610917565b610478565b6101a86104a8565b6101a861027b3660046108ff565b6104f5565b6101b261053f565b6101a86102963660046108a1565b610548565b6101a86102a936600461094a565b6105be565b600654600254604051635e966e4560e01b815260048101919091526000916001600160a01b031690635e966e459060240160206040518083038186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032f91906108e0565b905090565b6103496810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b0316146103825760405162461bcd60e51b8152600401610379906109ef565b60405180910390fd5b61038a6106f0565b565b600060025b60035460ff1660028111156103b657634e487b7160e01b600052602160045260246000fd5b14905090565b6103c461072d565b50565b6103dc6810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b03161461040c5760405162461bcd60e51b8152600401610379906109ef565b61038a565b6104266810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b0316146104565760405162461bcd60e51b8152600401610379906109ef565b61038a610787565b61046661072d565b61038a60006107b1565b600080610391565b6040805182151560208201526000910160405160208183030381529060405290506104a38382610801565b505050565b6104bd6810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b0316146104ed5760405162461bcd60e51b8152600401610379906109ef565b61038a610861565b61050a6810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b03161461053a5760405162461bcd60e51b8152600401610379906109ef565b600255565b60006001610391565b61055061072d565b6001600160a01b0381166105b55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610379565b6103c4816107b1565b6105cf64517565727960d81b610668565b6001600160a01b0316336001600160a01b03161461062f5760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a4f52412d3030313a4143434553535f44454e49454400000000006044820152606401610379565b60008061063e83850185610917565b9150915080156106615760006106538361088b565b905061065f8682610478565b505b5050505050565b600354604051631c2d8fb360e31b81526004810183905260009161010090046001600160a01b03169063e16c7d989060240160206040518083038186803b1580156106b257600080fd5b505afa1580156106c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ea91906108c4565b92915050565b7f33a6ec8d94d03f2c0a2da3411552b0777613e4220abd6ce5679decb30af09b2361071a60025490565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461038a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610379565b7fdb7e2f5405ea10cad5583ce31a1bde125ff32946edb3ce5972d70ea3f2c214e661071a60025490565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600754604051637204a9a560e11b81526001600160a01b039091169063e409534a906108339085908590600401610a26565b600060405180830381600087803b15801561084d57600080fd5b505af115801561065f573d6000803e3d6000fd5b7f1855fcce92cb172c06fd991f1b19774237130b37cf6806bc01aa4e3a0c359e2d61071a60025490565b6000610898600283610a81565b60011492915050565b6000602082840312156108b2578081fd5b81356108bd81610ab7565b9392505050565b6000602082840312156108d5578081fd5b81516108bd81610ab7565b6000602082840312156108f1578081fd5b8151600781106108bd578182fd5b600060208284031215610910578081fd5b5035919050565b60008060408385031215610929578081fd5b823591506020830135801515811461093f578182fd5b809150509250929050565b60008060006040848603121561095e578081fd5b83359250602084013567ffffffffffffffff8082111561097c578283fd5b818601915086601f83011261098f578283fd5b81358181111561099d578384fd5b8760208285010111156109ae578384fd5b6020830194508093505050509250925092565b60208101600783106109d5576109d5610aa1565b91905290565b60208101600383106109d5576109d5610aa1565b6020808252601b908201527f4552524f523a434d502d3030323a4e4f545f434f4d504f4e454e540000000000604082015260600190565b600083825260206040818401528351806040850152825b81811015610a5957858101830151858201606001528201610a3d565b81811115610a6a5783606083870101525b50601f01601f191692909201606001949350505050565b600082610a9c57634e487b7160e01b81526012600452602481fd5b500690565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03811681146103c457600080fdfea2646970667358221220e96d9b84e78430a1ba72581cc476e1cec024d587d971d59b6bc37bf974d4200c64736f6c63430008020033",
  "bytecodeSha1": "e58832399ba8c12b7695b47e6d484462dc1bb809",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "TestOracle",
  "coverageMap": {
    "branches": {
      "13": {},
      "18": {},
      "22": {},
      "26": {},
      "29": {
        "Context._msgSender": {
          "31": [
            1140,
            1188,
            true
          ]
        }
      },
      "30": {},
      "31": {},
      "34": {
        "Context._msgSender": {
          "32": [
            359,
            403,
            true
          ]
        }
      },
      "37": {},
      "39": {},
      "4": {
        "Ownable._checkOwner": {
          "34": [
            1422,
            1445,
            true
          ]
        },
        "Ownable.transferOwnership": {
          "33": [
            2169,
            2191,
            true
          ]
        }
      },
      "44": {},
      "46": {},
      "47": {},
      "48": {},
      "49": {},
      "50": {},
      "51": {},
      "53": {},
      "95": {
        "TestOracle.request": {
          "30": [
            514,
            531,
            false
          ]
        }
      }
    },
    "statements": {
      "13": {},
      "18": {},
      "22": {
        "Context._msgSender": {
          "7": [
            712,
            729
          ]
        }
      },
      "26": {},
      "29": {
        "Component._getContractAddress": {
          "21": [
            4970,
            5012
          ]
        },
        "Component.approvalCallback": {
          "8": [
            3339,
            3354
          ]
        },
        "Component.declineCallback": {
          "15": [
            3422,
            3437
          ]
        },
        "Component.getId": {
          "3": [
            2366,
            2385
          ]
        },
        "Component.getName": {
          "1": [
            2279,
            2300
          ]
        },
        "Component.getOwner": {
          "5": [
            2702,
            2716
          ]
        },
        "Component.getRegistry": {
          "2": [
            3168,
            3184
          ]
        },
        "Component.getState": {
          "6": [
            2578,
            2633
          ]
        },
        "Component.getType": {
          "0": [
            2470,
            2491
          ]
        },
        "Component.isOracle": {
          "13": [
            2908,
            2964
          ]
        },
        "Component.isProduct": {
          "17": [
            2785,
            2842
          ]
        },
        "Component.isRiskpool": {
          "9": [
            3032,
            3090
          ]
        },
        "Component.proposalCallback": {
          "11": [
            3255,
            3270
          ]
        },
        "Component.setId": {
          "16": [
            2192,
            2209
          ]
        },
        "Component.unpauseCallback": {
          "10": [
            3748,
            3763
          ]
        }
      },
      "30": {},
      "31": {},
      "34": {
        "Oracle._afterApprove": {
          "22": [
            865,
            896
          ]
        },
        "Oracle._afterDecline": {
          "28": [
            1043,
            1074
          ]
        },
        "Oracle._afterPropose": {
          "24": [
            958,
            989
          ]
        },
        "Oracle._respond": {
          "27": [
            1161,
            1200
          ]
        }
      },
      "37": {},
      "39": {},
      "4": {
        "Ownable._checkOwner": {
          "23": [
            1414,
            1482
          ]
        },
        "Ownable._transferOwnership": {
          "25": [
            2541,
            2558
          ],
          "26": [
            2568,
            2613
          ]
        },
        "Ownable.owner": {
          "4": [
            1266,
            1279
          ]
        },
        "Ownable.renounceOwnership": {
          "12": [
            1895,
            1925
          ]
        },
        "Ownable.transferOwnership": {
          "18": [
            2161,
            2234
          ],
          "19": [
            2244,
            2272
          ]
        }
      },
      "44": {},
      "46": {},
      "47": {},
      "48": {},
      "49": {},
      "50": {},
      "51": {},
      "53": {},
      "95": {
        "TestOracle._oracleCalculation": {
          "29": [
            1746,
            1778
          ]
        },
        "TestOracle.request": {
          "20": [
            808,
            839
          ]
        },
        "TestOracle.respond": {
          "14": [
            1464,
            1491
          ]
        }
      }
    }
  },
  "dependencies": [
    "etherisc/gif-interface@3b0002a/Component",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Context",
    "etherisc/gif-interface@3b0002a/IAccess",
    "etherisc/gif-interface@3b0002a/IBundleToken",
    "etherisc/gif-interface@3b0002a/IComponent",
    "etherisc/gif-interface@3b0002a/IComponentEvents",
    "etherisc/gif-interface@3b0002a/IComponentOwnerService",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC165",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC20",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC721",
    "etherisc/gif-interface@3b0002a/IInstanceOperatorService",
    "etherisc/gif-interface@3b0002a/IInstanceService",
    "etherisc/gif-interface@3b0002a/IOracle",
    "etherisc/gif-interface@3b0002a/IOracleService",
    "etherisc/gif-interface@3b0002a/IProductService",
    "etherisc/gif-interface@3b0002a/IRegistry",
    "etherisc/gif-interface@3b0002a/IRiskpoolService",
    "etherisc/gif-interface@3b0002a/Oracle",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Ownable"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063be169e7e1161007c578063be169e7e146101d5578063d0e0ba951461026d578063d73cd992146101d5578063e0815f0d14610280578063f2fde38b14610288578063ffc790651461029b57610158565b80638da5cb5b146102395780639a82f8901461024a578063a18f5ae2146101d5578063a9c577c514610252578063b3fca9bd146101d5578063bd1fe5d01461026557610158565b806359dacc6a1161011557806359dacc6a146101d55780635ab1bd53146101dd5780635d1ca6311461020c578063638ce0ba14610214578063715018a61461021c578063893d20e81461022457610158565b806315dae03e1461015d57806317d7de7c146101795780631865c57d1461018b5780631b867c63146101a0578063258d560c146101aa57806340e58ee5146101c2575b600080fd5b60035460ff1660405161017091906109db565b60405180910390f35b6001545b604051908152602001610170565b6101936102ae565b60405161017091906109c1565b6101a8610334565b005b6101b261038c565b6040519015158152602001610170565b6101a86101d03660046108ff565b6103bc565b6101a86103c7565b6101f460035461010090046001600160a01b031690565b6040516001600160a01b039091168152602001610170565b60025461017d565b6101a8610411565b6101a861045e565b6101f4600080546001600160a01b031661032f565b6000546001600160a01b03166101f4565b6101b2610470565b6101a8610260366004610917565b610478565b6101a86104a8565b6101a861027b3660046108ff565b6104f5565b6101b261053f565b6101a86102963660046108a1565b610548565b6101a86102a936600461094a565b6105be565b600654600254604051635e966e4560e01b815260048101919091526000916001600160a01b031690635e966e459060240160206040518083038186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032f91906108e0565b905090565b6103496810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b0316146103825760405162461bcd60e51b8152600401610379906109ef565b60405180910390fd5b61038a6106f0565b565b600060025b60035460ff1660028111156103b657634e487b7160e01b600052602160045260246000fd5b14905090565b6103c461072d565b50565b6103dc6810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b03161461040c5760405162461bcd60e51b8152600401610379906109ef565b61038a565b6104266810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b0316146104565760405162461bcd60e51b8152600401610379906109ef565b61038a610787565b61046661072d565b61038a60006107b1565b600080610391565b6040805182151560208201526000910160405160208183030381529060405290506104a38382610801565b505050565b6104bd6810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b0316146104ed5760405162461bcd60e51b8152600401610379906109ef565b61038a610861565b61050a6810dbdb5c1bdb995b9d60ba1b610668565b6001600160a01b0316336001600160a01b03161461053a5760405162461bcd60e51b8152600401610379906109ef565b600255565b60006001610391565b61055061072d565b6001600160a01b0381166105b55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610379565b6103c4816107b1565b6105cf64517565727960d81b610668565b6001600160a01b0316336001600160a01b03161461062f5760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a4f52412d3030313a4143434553535f44454e49454400000000006044820152606401610379565b60008061063e83850185610917565b9150915080156106615760006106538361088b565b905061065f8682610478565b505b5050505050565b600354604051631c2d8fb360e31b81526004810183905260009161010090046001600160a01b03169063e16c7d989060240160206040518083038186803b1580156106b257600080fd5b505afa1580156106c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ea91906108c4565b92915050565b7f33a6ec8d94d03f2c0a2da3411552b0777613e4220abd6ce5679decb30af09b2361071a60025490565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461038a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610379565b7fdb7e2f5405ea10cad5583ce31a1bde125ff32946edb3ce5972d70ea3f2c214e661071a60025490565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600754604051637204a9a560e11b81526001600160a01b039091169063e409534a906108339085908590600401610a26565b600060405180830381600087803b15801561084d57600080fd5b505af115801561065f573d6000803e3d6000fd5b7f1855fcce92cb172c06fd991f1b19774237130b37cf6806bc01aa4e3a0c359e2d61071a60025490565b6000610898600283610a81565b60011492915050565b6000602082840312156108b2578081fd5b81356108bd81610ab7565b9392505050565b6000602082840312156108d5578081fd5b81516108bd81610ab7565b6000602082840312156108f1578081fd5b8151600781106108bd578182fd5b600060208284031215610910578081fd5b5035919050565b60008060408385031215610929578081fd5b823591506020830135801515811461093f578182fd5b809150509250929050565b60008060006040848603121561095e578081fd5b83359250602084013567ffffffffffffffff8082111561097c578283fd5b818601915086601f83011261098f578283fd5b81358181111561099d578384fd5b8760208285010111156109ae578384fd5b6020830194508093505050509250925092565b60208101600783106109d5576109d5610aa1565b91905290565b60208101600383106109d5576109d5610aa1565b6020808252601b908201527f4552524f523a434d502d3030323a4e4f545f434f4d504f4e454e540000000000604082015260600190565b600083825260206040818401528351806040850152825b81811015610a5957858101830151858201606001528201610a3d565b81811115610a6a5783606083870101525b50601f01601f191692909201606001949350505050565b600082610a9c57634e487b7160e01b81526012600452602481fd5b500690565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03811681146103c457600080fdfea2646970667358221220e96d9b84e78430a1ba72581cc476e1cec024d587d971d59b6bc37bf974d4200c64736f6c63430008020033",
  "deployedSourceMap": "130:1661:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2394:100:29;2477:14;;;;2394:100;;;;;;:::i;:::-;;;;;;;;2220:83;2286:14;;2220:83;;;2668:25:103;;;2656:2;2641:18;2220:83:29;2623:76:103;2500:136:29;;;:::i;:::-;;;;;;;:::i;3279:78::-;;;:::i;:::-;;2973:120;;;:::i;:::-;;;2495:14:103;;2488:22;2470:41;;2458:2;2443:18;2973:120:29;2425:92:103;862:214:95;;;;;;:::i;:::-;;:::i;3689:77:29:-;;;:::i;3101:86::-;;3175:9;;;;;-1:-1:-1;;;;;3175:9:29;;3101:86;;;;-1:-1:-1;;;;;2286:32:103;;;2268:51;;2256:2;2241:18;3101:86:29;2223:102:103;2309:79:29;2373:12;;2309:79;;3195:78;;;:::i;1831:101:4:-;;;:::i;2642:77:29:-;;2691:7;1273:6:4;;-1:-1:-1;;;;;1273:6:4;2709:7:29;1201:85:4;;1247:7;1273:6;-1:-1:-1;;;;;1273:6:4;1201:85;;2851:116:29;;;:::i;1227:271:95:-;;;;;;:::i;:::-;;:::i;3363:77:29:-;;;:::i;2131:81::-;;;;;;:::i;:::-;;:::i;2727:118::-;;;:::i;2081:198:4:-;;;;;;:::i;:::-;;:::i;289:567:95:-;;;;;;:::i;:::-;;:::i;2500:136:29:-;2585:16;;2620:12;;2585:48;;-1:-1:-1;;;2585:48:29;;;;;2668:25:103;;;;2549::29;;-1:-1:-1;;;;;2585:16:29;;:34;;2641:18:103;;2585:48:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2578:55;;2500:136;:::o;3279:78::-;1156:32;-1:-1:-1;;;1156:19:29;:32::i;:::-;-1:-1:-1;;;;;1140:48:29;719:10:22;-1:-1:-1;;;;;1140:48:29;;1117:116;;;;-1:-1:-1;;;1117:116:29;;;;;;;:::i;:::-;;;;;;;;;3339:15:::1;:13;:15::i;:::-;3279:78::o:0;2973:120::-;3024:4;3057:33;3039:51;:14;;;;:51;;;;;;-1:-1:-1;;;3039:51:29;;;;;;;;;;3032:58;;2973:120;:::o;862:214:95:-;1094:13:4;:11;:13::i;:::-;862:214:95;:::o;3689:77:29:-;1156:32;-1:-1:-1;;;1156:19:29;:32::i;:::-;-1:-1:-1;;;;;1140:48:29;719:10:22;-1:-1:-1;;;;;1140:48:29;;1117:116;;;;-1:-1:-1;;;1117:116:29;;;;;;;:::i;:::-;3748:15:::1;3279:78:::0;3195;1156:32;-1:-1:-1;;;1156:19:29;:32::i;:::-;-1:-1:-1;;;;;1140:48:29;719:10:22;-1:-1:-1;;;;;1140:48:29;;1117:116;;;;-1:-1:-1;;;1117:116:29;;;;;;;:::i;:::-;3255:15:::1;:13;:15::i;1831:101:4:-:0;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;2851:116:29:-:0;2900:4;;2915:49;;1227:271:95;1377:29;;;2495:14:103;;2488:22;1377:29:95;;;2470:41:103;1355:19:95;;2443:18:103;1377:29:95;;;;;;;;;;;;1355:51;;1464:27;1473:9;1484:6;1464:8;:27::i;:::-;1227:271;;;:::o;3363:77:29:-;1156:32;-1:-1:-1;;;1156:19:29;:32::i;:::-;-1:-1:-1;;;;;1140:48:29;719:10:22;-1:-1:-1;;;;;1140:48:29;;1117:116;;;;-1:-1:-1;;;1117:116:29;;;;;;;:::i;:::-;3422:15:::1;:13;:15::i;2131:81::-:0;1156:32;-1:-1:-1;;;1156:19:29;:32::i;:::-;-1:-1:-1;;;;;1140:48:29;719:10:22;-1:-1:-1;;;;;1140:48:29;;1117:116;;;;-1:-1:-1;;;1117:116:29;;;;;;;:::i;:::-;2192:12:::1;:17:::0;2131:81::o;2727:118::-;2777:4;2810:32;2792:50;;2081:198:4;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:4;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:4;;4000:2:103;2161:73:4::1;::::0;::::1;3982:21:103::0;4039:2;4019:18;;;4012:30;4078:34;4058:18;;;4051:62;-1:-1:-1;;;4129:18:103;;;4122:36;4175:19;;2161:73:4::1;3972:228:103::0;2161:73:4::1;2244:28;2263:8;2244:18;:28::i;289:567:95:-:0;375:28:34;-1:-1:-1;;;375:19:34;:28::i;:::-;-1:-1:-1;;;;;359:44:34;719:10:22;-1:-1:-1;;;;;359:44:34;;336:122;;;;-1:-1:-1;;;336:122:34;;4768:2:103;336:122:34;;;4750:21:103;4807:2;4787:18;;;4780:30;4846:29;4826:18;;;4819:57;4893:18;;336:122:34;4740:177:103;336:122:34;422:15:95::1;::::0;465:34:::1;::::0;;::::1;476:5:::0;465:34:::1;:::i;:::-;421:78;;;;514:17;510:340;;;748:16;767:27;786:7;767:18;:27::i;:::-;748:46;;808:31;816:9;827:11;808:7;:31::i;:::-;510:340;;469:1:34;;289:567:95::0;;;:::o;4875:145:29:-;4977:9;;:35;;-1:-1:-1;;;4977:35:29;;;;;2668:25:103;;;4949:7:29;;4977:9;;;-1:-1:-1;;;;;4977:9:29;;:21;;2641:18:103;;4977:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4970:42;4875:145;-1:-1:-1;;4875:145:29:o;810:95:34:-;870:26;888:7;2373:12:29;;2309:79;;888:7:34;870:26;;2668:25:103;;;2656:2;2641:18;870:26:34;;;;;;;810:95::o;1359:130:4:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:4;719:10:22;1422:23:4;1414:68;;;;-1:-1:-1;;;1414:68:4;;4407:2:103;1414:68:4;;;4389:21:103;;;4426:18;;;4419:30;4485:34;4465:18;;;4458:62;4537:18;;1414:68:4;4379:182:103;913:79:34;963:26;981:7;2373:12:29;;2309:79;;2433:187:4;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:4;;;-1:-1:-1;;;;;;2541:17:4;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2433:187;;:::o;1085:123:34:-;1161:14;;:39;;-1:-1:-1;;;1161:39:34;;-1:-1:-1;;;;;1161:14:34;;;;:22;;:39;;1184:9;;1195:4;;1161:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;998:79;1048:26;1066:7;2373:12:29;;2309:79;;1655:130:95;1718:16;1761:11;1771:1;1761:7;:11;:::i;:::-;1776:1;1761:16;;1655:130;-1:-1:-1;;1655:130:95:o;14:257:103:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;:::-;260:5;84:187;-1:-1:-1;;;84:187:103:o;276:261::-;;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:300::-;;685:2;673:9;664:7;660:23;656:32;653:2;;;706:6;698;691:22;653:2;743:9;737:16;782:1;775:5;772:12;762:2;;803:6;795;788:22;847:190;;959:2;947:9;938:7;934:23;930:32;927:2;;;980:6;972;965:22;927:2;-1:-1:-1;1008:23:103;;917:120;-1:-1:-1;917:120:103:o;1042:361::-;;;1168:2;1156:9;1147:7;1143:23;1139:32;1136:2;;;1189:6;1181;1174:22;1136:2;1230:9;1217:23;1207:33;;1290:2;1279:9;1275:18;1262:32;1337:5;1330:13;1323:21;1316:5;1313:32;1303:2;;1364:6;1356;1349:22;1303:2;1392:5;1382:15;;;1126:277;;;;;:::o;1408:709::-;;;;1556:2;1544:9;1535:7;1531:23;1527:32;1524:2;;;1577:6;1569;1562:22;1524:2;1618:9;1605:23;1595:33;;1679:2;1668:9;1664:18;1651:32;1702:18;1743:2;1735:6;1732:14;1729:2;;;1764:6;1756;1749:22;1729:2;1807:6;1796:9;1792:22;1782:32;;1852:7;1845:4;1841:2;1837:13;1833:27;1823:2;;1879:6;1871;1864:22;1823:2;1924;1911:16;1950:2;1942:6;1939:14;1936:2;;;1971:6;1963;1956:22;1936:2;2021:7;2016:2;2007:6;2003:2;1999:15;1995:24;1992:37;1989:2;;;2047:6;2039;2032:22;1989:2;2083;2079;2075:11;2065:21;;2105:6;2095:16;;;;;1514:603;;;;;:::o;2931:251::-;3083:2;3068:18;;3116:1;3105:13;;3095:2;;3122:18;;:::i;:::-;3151:25;;;3050:132;:::o;3187:250::-;3338:2;3323:18;;3371:1;3360:13;;3350:2;;3377:18;;:::i;3442:351::-;3644:2;3626:21;;;3683:2;3663:18;;;3656:30;3722:29;3717:2;3702:18;;3695:57;3784:2;3769:18;;3616:177::o;5104:672::-;;5279:6;5268:9;5261:25;5305:2;5343;5338;5327:9;5323:18;5316:30;5375:6;5369:13;5418:6;5413:2;5402:9;5398:18;5391:34;5443:4;5456:140;5470:6;5467:1;5464:13;5456:140;;;5565:14;;;5561:23;;5555:30;5531:17;;;5550:2;5527:26;5520:66;5485:10;;5456:140;;;5614:6;5611:1;5608:13;5605:2;;;5684:4;5679:2;5670:6;5659:9;5655:22;5651:31;5644:45;5605:2;-1:-1:-1;5760:2:103;5739:15;-1:-1:-1;;5735:29:103;5720:45;;;;5767:2;5716:54;;5251:525;-1:-1:-1;;;;5251:525:103:o;5781:209::-;;5839:1;5829:2;;-1:-1:-1;;;5864:31:103;;5918:4;5915:1;5908:15;5946:4;5871:1;5936:15;5829:2;-1:-1:-1;5975:9:103;;5819:171::o;5995:127::-;6056:10;6051:3;6047:20;6044:1;6037:31;6087:4;6084:1;6077:15;6111:4;6108:1;6101:15;6127:131;-1:-1:-1;;;;;6202:31:103;;6192:42;;6182:2;;6248:1;6245;6238:12",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
      },
      "transferOwnership(address)": {
        "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
      }
    },
    "version": 1
  },
  "offset": [
    130,
    1791
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x158 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xC3 JUMPI DUP1 PUSH4 0xBE169E7E GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xBE169E7E EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0xD0E0BA95 EQ PUSH2 0x26D JUMPI DUP1 PUSH4 0xD73CD992 EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0xE0815F0D EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x288 JUMPI DUP1 PUSH4 0xFFC79065 EQ PUSH2 0x29B JUMPI PUSH2 0x158 JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x239 JUMPI DUP1 PUSH4 0x9A82F890 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0xA18F5AE2 EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0xA9C577C5 EQ PUSH2 0x252 JUMPI DUP1 PUSH4 0xB3FCA9BD EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0xBD1FE5D0 EQ PUSH2 0x265 JUMPI PUSH2 0x158 JUMP JUMPDEST DUP1 PUSH4 0x59DACC6A GT PUSH2 0x115 JUMPI DUP1 PUSH4 0x59DACC6A EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x5AB1BD53 EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0x5D1CA631 EQ PUSH2 0x20C JUMPI DUP1 PUSH4 0x638CE0BA EQ PUSH2 0x214 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x224 JUMPI PUSH2 0x158 JUMP JUMPDEST DUP1 PUSH4 0x15DAE03E EQ PUSH2 0x15D JUMPI DUP1 PUSH4 0x17D7DE7C EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x1865C57D EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x1B867C63 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x258D560C EQ PUSH2 0x1AA JUMPI DUP1 PUSH4 0x40E58EE5 EQ PUSH2 0x1C2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH1 0xFF AND PUSH1 0x40 MLOAD PUSH2 0x170 SWAP2 SWAP1 PUSH2 0x9DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x170 JUMP JUMPDEST PUSH2 0x193 PUSH2 0x2AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x170 SWAP2 SWAP1 PUSH2 0x9C1 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x334 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B2 PUSH2 0x38C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x170 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x1D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0x3BC JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x3C7 JUMP JUMPDEST PUSH2 0x1F4 PUSH1 0x3 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x170 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x17D JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x411 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x45E JUMP JUMPDEST PUSH2 0x1F4 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x32F JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F4 JUMP JUMPDEST PUSH2 0x1B2 PUSH2 0x470 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x917 JUMP JUMPDEST PUSH2 0x478 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x4A8 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x27B CALLDATASIZE PUSH1 0x4 PUSH2 0x8FF JUMP JUMPDEST PUSH2 0x4F5 JUMP JUMPDEST PUSH2 0x1B2 PUSH2 0x53F JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x296 CALLDATASIZE PUSH1 0x4 PUSH2 0x8A1 JUMP JUMPDEST PUSH2 0x548 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x2A9 CALLDATASIZE PUSH1 0x4 PUSH2 0x94A JUMP JUMPDEST PUSH2 0x5BE JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5E966E45 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5E966E45 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x30B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x32F SWAP2 SWAP1 PUSH2 0x8E0 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x349 PUSH9 0x10DBDB5C1BDB995B9D PUSH1 0xBA SHL PUSH2 0x668 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x382 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x379 SWAP1 PUSH2 0x9EF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x38A PUSH2 0x6F0 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 JUMPDEST PUSH1 0x3 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x3B6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3C4 PUSH2 0x72D JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x3DC PUSH9 0x10DBDB5C1BDB995B9D PUSH1 0xBA SHL PUSH2 0x668 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x40C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x379 SWAP1 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0x38A JUMP JUMPDEST PUSH2 0x426 PUSH9 0x10DBDB5C1BDB995B9D PUSH1 0xBA SHL PUSH2 0x668 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x456 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x379 SWAP1 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0x38A PUSH2 0x787 JUMP JUMPDEST PUSH2 0x466 PUSH2 0x72D JUMP JUMPDEST PUSH2 0x38A PUSH1 0x0 PUSH2 0x7B1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x391 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 ISZERO ISZERO PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x4A3 DUP4 DUP3 PUSH2 0x801 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x4BD PUSH9 0x10DBDB5C1BDB995B9D PUSH1 0xBA SHL PUSH2 0x668 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4ED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x379 SWAP1 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0x38A PUSH2 0x861 JUMP JUMPDEST PUSH2 0x50A PUSH9 0x10DBDB5C1BDB995B9D PUSH1 0xBA SHL PUSH2 0x668 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x53A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x379 SWAP1 PUSH2 0x9EF JUMP JUMPDEST PUSH1 0x2 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x391 JUMP JUMPDEST PUSH2 0x550 PUSH2 0x72D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x379 JUMP JUMPDEST PUSH2 0x3C4 DUP2 PUSH2 0x7B1 JUMP JUMPDEST PUSH2 0x5CF PUSH5 0x5175657279 PUSH1 0xD8 SHL PUSH2 0x668 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x62F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4F52412D3030313A4143434553535F44454E4945440000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x379 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x63E DUP4 DUP6 ADD DUP6 PUSH2 0x917 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP1 ISZERO PUSH2 0x661 JUMPI PUSH1 0x0 PUSH2 0x653 DUP4 PUSH2 0x88B JUMP JUMPDEST SWAP1 POP PUSH2 0x65F DUP7 DUP3 PUSH2 0x478 JUMP JUMPDEST POP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x1C2D8FB3 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH2 0x100 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE16C7D98 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6C6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6EA SWAP2 SWAP1 PUSH2 0x8C4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x33A6EC8D94D03F2C0A2DA3411552B0777613E4220ABD6CE5679DECB30AF09B23 PUSH2 0x71A PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x38A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x379 JUMP JUMPDEST PUSH32 0xDB7E2F5405EA10CAD5583CE31A1BDE125FF32946EDB3CE5972D70EA3F2C214E6 PUSH2 0x71A PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0x7204A9A5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE409534A SWAP1 PUSH2 0x833 SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0xA26 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x84D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x65F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH32 0x1855FCCE92CB172C06FD991F1B19774237130B37CF6806BC01AA4E3A0C359E2D PUSH2 0x71A PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x898 PUSH1 0x2 DUP4 PUSH2 0xA81 JUMP JUMPDEST PUSH1 0x1 EQ SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8B2 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x8BD DUP2 PUSH2 0xAB7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8D5 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x8BD DUP2 PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8F1 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x7 DUP2 LT PUSH2 0x8BD JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x910 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x929 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x93F JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x95E JUMPI DUP1 DUP2 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x97C JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x98F JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x99D JUMPI DUP4 DUP5 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x9AE JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x7 DUP4 LT PUSH2 0x9D5 JUMPI PUSH2 0x9D5 PUSH2 0xAA1 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x3 DUP4 LT PUSH2 0x9D5 JUMPI PUSH2 0x9D5 PUSH2 0xAA1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1B SWAP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A434D502D3030323A4E4F545F434F4D504F4E454E540000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP3 MSTORE PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA59 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0xA3D JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xA6A JUMPI DUP4 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xA9C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 PUSH14 0x9B84E78430A1BA72581CC476E1CE 0xC0 0x24 0xD5 DUP8 0xD9 PUSH18 0xD59B6BC37BF974D4200C64736F6C63430008 MUL STOP CALLER ",
  "pcMap": {
    "0": {
      "offset": [
        130,
        1791
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "MSTORE",
      "path": "95"
    },
    "5": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "CALLVALUE",
      "path": "95"
    },
    "6": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "7": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "ISZERO",
      "path": "95"
    },
    "8": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "12": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "REVERT",
      "path": "95"
    },
    "16": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "17": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "POP",
      "path": "95"
    },
    "18": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "CALLDATASIZE",
      "path": "95"
    },
    "21": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "LT",
      "path": "95"
    },
    "22": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x158"
    },
    "25": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "26": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "CALLDATALOAD",
      "path": "95"
    },
    "29": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "SHR",
      "path": "95"
    },
    "32": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "33": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x8DA5CB5B"
    },
    "38": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "GT",
      "path": "95"
    },
    "39": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0xC3"
    },
    "42": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "43": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "44": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xBE169E7E"
    },
    "49": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "GT",
      "path": "95"
    },
    "50": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x7C"
    },
    "53": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "54": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "55": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xBE169E7E"
    },
    "60": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "61": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1D5"
    },
    "64": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "65": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "66": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xD0E0BA95"
    },
    "71": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "72": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x26D"
    },
    "75": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "76": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "77": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xD73CD992"
    },
    "82": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "83": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1D5"
    },
    "86": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "87": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "88": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xE0815F0D"
    },
    "93": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "94": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x280"
    },
    "97": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "98": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "99": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xF2FDE38B"
    },
    "104": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "105": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x288"
    },
    "108": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "109": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "110": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xFFC79065"
    },
    "115": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "116": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x29B"
    },
    "119": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "120": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x158"
    },
    "123": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMP",
      "path": "95"
    },
    "124": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "125": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "126": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x8DA5CB5B"
    },
    "131": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "132": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x239"
    },
    "135": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "136": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "137": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x9A82F890"
    },
    "142": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "143": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x24A"
    },
    "146": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "147": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "148": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xA18F5AE2"
    },
    "153": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "154": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1D5"
    },
    "157": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "158": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "159": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xA9C577C5"
    },
    "164": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "165": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x252"
    },
    "168": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "169": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "170": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xB3FCA9BD"
    },
    "175": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "176": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1D5"
    },
    "179": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "180": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "181": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0xBD1FE5D0"
    },
    "186": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "187": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x265"
    },
    "190": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "191": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x158"
    },
    "194": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMP",
      "path": "95"
    },
    "195": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "196": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "197": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x59DACC6A"
    },
    "202": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "GT",
      "path": "95"
    },
    "203": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x115"
    },
    "206": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "207": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "208": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x59DACC6A"
    },
    "213": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "214": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1D5"
    },
    "217": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "218": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "219": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x5AB1BD53"
    },
    "224": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "225": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1DD"
    },
    "228": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "229": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "230": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x5D1CA631"
    },
    "235": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "236": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x20C"
    },
    "239": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "240": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "241": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x638CE0BA"
    },
    "246": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "247": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x214"
    },
    "250": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "251": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "252": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x715018A6"
    },
    "257": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "258": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x21C"
    },
    "261": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "262": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "263": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x893D20E8"
    },
    "268": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "269": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x224"
    },
    "272": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "273": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x158"
    },
    "276": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMP",
      "path": "95"
    },
    "277": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "278": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "279": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x15DAE03E"
    },
    "284": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "285": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x15D"
    },
    "288": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "289": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "290": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x17D7DE7C"
    },
    "295": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "296": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x179"
    },
    "299": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "300": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "301": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x1865C57D"
    },
    "306": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "307": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x18B"
    },
    "310": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "311": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "312": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x1B867C63"
    },
    "317": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "318": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1A0"
    },
    "321": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "322": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "323": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x258D560C"
    },
    "328": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "329": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1AA"
    },
    "332": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "333": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "334": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH4",
      "path": "95",
      "value": "0x40E58EE5"
    },
    "339": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "EQ",
      "path": "95"
    },
    "340": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1C2"
    },
    "343": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "344": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "345": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x0"
    },
    "347": {
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "DUP1",
      "path": "95"
    },
    "348": {
      "first_revert": true,
      "fn": null,
      "offset": [
        130,
        1791
      ],
      "op": "REVERT",
      "path": "95"
    },
    "349": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "350": {
      "fn": "Component.getType",
      "offset": [
        2477,
        2491
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 0,
      "value": "0x3"
    },
    "352": {
      "fn": "Component.getType",
      "offset": [
        2477,
        2491
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "353": {
      "fn": "Component.getType",
      "offset": [
        2477,
        2491
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0xFF"
    },
    "355": {
      "fn": "Component.getType",
      "offset": [
        2477,
        2491
      ],
      "op": "AND",
      "path": "29"
    },
    "356": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "358": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "359": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x170"
    },
    "362": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "363": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "364": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x9DB"
    },
    "367": {
      "fn": "Component.getType",
      "jump": "i",
      "offset": [
        2394,
        2494
      ],
      "op": "JUMP",
      "path": "29"
    },
    "368": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "369": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "371": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "372": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "DUP1",
      "path": "29"
    },
    "373": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "374": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "SUB",
      "path": "29"
    },
    "375": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "376": {
      "fn": "Component.getType",
      "offset": [
        2394,
        2494
      ],
      "op": "RETURN",
      "path": "29"
    },
    "377": {
      "fn": "Component.getName",
      "offset": [
        2220,
        2303
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "378": {
      "fn": "Component.getName",
      "offset": [
        2286,
        2300
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 1,
      "value": "0x1"
    },
    "380": {
      "fn": "Component.getName",
      "offset": [
        2286,
        2300
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "381": {
      "fn": "Component.getName",
      "offset": [
        2220,
        2303
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "382": {
      "fn": "Component.getName",
      "offset": [
        2220,
        2303
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "384": {
      "fn": "Component.getName",
      "offset": [
        2220,
        2303
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "385": {
      "op": "SWAP1"
    },
    "386": {
      "op": "DUP2"
    },
    "387": {
      "op": "MSTORE"
    },
    "388": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "390": {
      "op": "ADD"
    },
    "391": {
      "fn": "Component.getName",
      "offset": [
        2220,
        2303
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x170"
    },
    "394": {
      "op": "JUMP"
    },
    "395": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "396": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x193"
    },
    "399": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x2AE"
    },
    "402": {
      "fn": "Component.getState",
      "jump": "i",
      "offset": [
        2500,
        2636
      ],
      "op": "JUMP",
      "path": "29"
    },
    "403": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "404": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "406": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "407": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x170"
    },
    "410": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "411": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "412": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x9C1"
    },
    "415": {
      "fn": "Component.getState",
      "jump": "i",
      "offset": [
        2500,
        2636
      ],
      "op": "JUMP",
      "path": "29"
    },
    "416": {
      "fn": "Component.approvalCallback",
      "offset": [
        3279,
        3357
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "417": {
      "fn": "Component.approvalCallback",
      "offset": [
        3279,
        3357
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1A8"
    },
    "420": {
      "fn": "Component.approvalCallback",
      "offset": [
        3279,
        3357
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x334"
    },
    "423": {
      "fn": "Component.approvalCallback",
      "jump": "i",
      "offset": [
        3279,
        3357
      ],
      "op": "JUMP",
      "path": "29"
    },
    "424": {
      "fn": "Component.approvalCallback",
      "offset": [
        3279,
        3357
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "425": {
      "fn": "Component.approvalCallback",
      "offset": [
        3279,
        3357
      ],
      "op": "STOP",
      "path": "29"
    },
    "426": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "427": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1B2"
    },
    "430": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x38C"
    },
    "433": {
      "fn": "Component.isRiskpool",
      "jump": "i",
      "offset": [
        2973,
        3093
      ],
      "op": "JUMP",
      "path": "29"
    },
    "434": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "435": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "437": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "438": {
      "op": "SWAP1"
    },
    "439": {
      "op": "ISZERO"
    },
    "440": {
      "op": "ISZERO"
    },
    "441": {
      "op": "DUP2"
    },
    "442": {
      "op": "MSTORE"
    },
    "443": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "445": {
      "op": "ADD"
    },
    "446": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x170"
    },
    "449": {
      "op": "JUMP"
    },
    "450": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "451": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1A8"
    },
    "454": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1D0"
    },
    "457": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "CALLDATASIZE",
      "path": "95"
    },
    "458": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x4"
    },
    "460": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x8FF"
    },
    "463": {
      "fn": "TestOracle.cancel",
      "jump": "i",
      "offset": [
        862,
        1076
      ],
      "op": "JUMP",
      "path": "95"
    },
    "464": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "465": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x3BC"
    },
    "468": {
      "fn": "TestOracle.cancel",
      "jump": "i",
      "offset": [
        862,
        1076
      ],
      "op": "JUMP",
      "path": "95"
    },
    "469": {
      "fn": "Component.unpauseCallback",
      "offset": [
        3689,
        3766
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "470": {
      "fn": "Component.unpauseCallback",
      "offset": [
        3689,
        3766
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1A8"
    },
    "473": {
      "fn": "Component.unpauseCallback",
      "offset": [
        3689,
        3766
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x3C7"
    },
    "476": {
      "fn": "Component.unpauseCallback",
      "jump": "i",
      "offset": [
        3689,
        3766
      ],
      "op": "JUMP",
      "path": "29"
    },
    "477": {
      "fn": "Component.getRegistry",
      "offset": [
        3101,
        3187
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "478": {
      "fn": "Component.getRegistry",
      "offset": [
        3101,
        3187
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1F4"
    },
    "481": {
      "fn": "Component.getRegistry",
      "offset": [
        3175,
        3184
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 2,
      "value": "0x3"
    },
    "483": {
      "fn": "Component.getRegistry",
      "offset": [
        3175,
        3184
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "484": {
      "fn": "Component.getRegistry",
      "offset": [
        3175,
        3184
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x100"
    },
    "487": {
      "fn": "Component.getRegistry",
      "offset": [
        3175,
        3184
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "488": {
      "fn": "Component.getRegistry",
      "offset": [
        3175,
        3184
      ],
      "op": "DIV",
      "path": "29"
    },
    "489": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "491": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "493": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "495": {
      "op": "SHL"
    },
    "496": {
      "op": "SUB"
    },
    "497": {
      "fn": "Component.getRegistry",
      "offset": [
        3175,
        3184
      ],
      "op": "AND",
      "path": "29"
    },
    "498": {
      "fn": "Component.getRegistry",
      "offset": [
        3175,
        3184
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "499": {
      "fn": "Component.getRegistry",
      "offset": [
        3101,
        3187
      ],
      "op": "JUMP",
      "path": "29"
    },
    "500": {
      "fn": "Component.getRegistry",
      "offset": [
        3101,
        3187
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "501": {
      "fn": "Component.getRegistry",
      "offset": [
        3101,
        3187
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "503": {
      "fn": "Component.getRegistry",
      "offset": [
        3101,
        3187
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "504": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "506": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "508": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "510": {
      "op": "SHL"
    },
    "511": {
      "op": "SUB"
    },
    "512": {
      "op": "SWAP1"
    },
    "513": {
      "op": "SWAP2"
    },
    "514": {
      "op": "AND"
    },
    "515": {
      "op": "DUP2"
    },
    "516": {
      "op": "MSTORE"
    },
    "517": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "519": {
      "op": "ADD"
    },
    "520": {
      "fn": "Component.getRegistry",
      "offset": [
        3101,
        3187
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x170"
    },
    "523": {
      "op": "JUMP"
    },
    "524": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "525": {
      "fn": "Component.getId",
      "offset": [
        2373,
        2385
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 3,
      "value": "0x2"
    },
    "527": {
      "fn": "Component.getId",
      "offset": [
        2373,
        2385
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "528": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x17D"
    },
    "531": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "JUMP",
      "path": "29"
    },
    "532": {
      "fn": "Component.proposalCallback",
      "offset": [
        3195,
        3273
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "533": {
      "fn": "Component.proposalCallback",
      "offset": [
        3195,
        3273
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1A8"
    },
    "536": {
      "fn": "Component.proposalCallback",
      "offset": [
        3195,
        3273
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x411"
    },
    "539": {
      "fn": "Component.proposalCallback",
      "jump": "i",
      "offset": [
        3195,
        3273
      ],
      "op": "JUMP",
      "path": "29"
    },
    "540": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1831,
        1932
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "541": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1831,
        1932
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x1A8"
    },
    "544": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1831,
        1932
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x45E"
    },
    "547": {
      "fn": "Ownable.renounceOwnership",
      "jump": "i",
      "offset": [
        1831,
        1932
      ],
      "op": "JUMP",
      "path": "4"
    },
    "548": {
      "fn": "Component.getOwner",
      "offset": [
        2642,
        2719
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "549": {
      "fn": "Component.getOwner",
      "offset": [
        2642,
        2719
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1F4"
    },
    "552": {
      "fn": "Component.getOwner",
      "offset": [
        2691,
        2698
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "554": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "DUP1",
      "path": "4",
      "statement": 4
    },
    "555": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "SLOAD",
      "path": "4"
    },
    "556": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "558": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "560": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "562": {
      "op": "SHL"
    },
    "563": {
      "op": "SUB"
    },
    "564": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "AND",
      "path": "4"
    },
    "565": {
      "fn": "Component.getOwner",
      "offset": [
        2709,
        2716
      ],
      "op": "PUSH2",
      "path": "29",
      "statement": 5,
      "value": "0x32F"
    },
    "568": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "JUMP",
      "path": "4"
    },
    "569": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "570": {
      "fn": "Ownable.owner",
      "offset": [
        1247,
        1254
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "572": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "SLOAD",
      "path": "4"
    },
    "573": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "575": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "577": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "579": {
      "op": "SHL"
    },
    "580": {
      "op": "SUB"
    },
    "581": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "AND",
      "path": "4"
    },
    "582": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x1F4"
    },
    "585": {
      "fn": "Ownable.owner",
      "offset": [
        1201,
        1286
      ],
      "op": "JUMP",
      "path": "4"
    },
    "586": {
      "fn": "Component.isOracle",
      "offset": [
        2851,
        2967
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "587": {
      "fn": "Component.isOracle",
      "offset": [
        2851,
        2967
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1B2"
    },
    "590": {
      "fn": "Component.isOracle",
      "offset": [
        2851,
        2967
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x470"
    },
    "593": {
      "fn": "Component.isOracle",
      "jump": "i",
      "offset": [
        2851,
        2967
      ],
      "op": "JUMP",
      "path": "29"
    },
    "594": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "595": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1A8"
    },
    "598": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x260"
    },
    "601": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "CALLDATASIZE",
      "path": "95"
    },
    "602": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x4"
    },
    "604": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x917"
    },
    "607": {
      "fn": "TestOracle.respond",
      "jump": "i",
      "offset": [
        1227,
        1498
      ],
      "op": "JUMP",
      "path": "95"
    },
    "608": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "609": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x478"
    },
    "612": {
      "fn": "TestOracle.respond",
      "jump": "i",
      "offset": [
        1227,
        1498
      ],
      "op": "JUMP",
      "path": "95"
    },
    "613": {
      "fn": "Component.declineCallback",
      "offset": [
        3363,
        3440
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "614": {
      "fn": "Component.declineCallback",
      "offset": [
        3363,
        3440
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1A8"
    },
    "617": {
      "fn": "Component.declineCallback",
      "offset": [
        3363,
        3440
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x4A8"
    },
    "620": {
      "fn": "Component.declineCallback",
      "jump": "i",
      "offset": [
        3363,
        3440
      ],
      "op": "JUMP",
      "path": "29"
    },
    "621": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "622": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1A8"
    },
    "625": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x27B"
    },
    "628": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "CALLDATASIZE",
      "path": "29"
    },
    "629": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "631": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x8FF"
    },
    "634": {
      "fn": "Component.setId",
      "jump": "i",
      "offset": [
        2131,
        2212
      ],
      "op": "JUMP",
      "path": "29"
    },
    "635": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "636": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x4F5"
    },
    "639": {
      "fn": "Component.setId",
      "jump": "i",
      "offset": [
        2131,
        2212
      ],
      "op": "JUMP",
      "path": "29"
    },
    "640": {
      "fn": "Component.isProduct",
      "offset": [
        2727,
        2845
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "641": {
      "fn": "Component.isProduct",
      "offset": [
        2727,
        2845
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x1B2"
    },
    "644": {
      "fn": "Component.isProduct",
      "offset": [
        2727,
        2845
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x53F"
    },
    "647": {
      "fn": "Component.isProduct",
      "jump": "i",
      "offset": [
        2727,
        2845
      ],
      "op": "JUMP",
      "path": "29"
    },
    "648": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "649": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x1A8"
    },
    "652": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x296"
    },
    "655": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "CALLDATASIZE",
      "path": "4"
    },
    "656": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "658": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x8A1"
    },
    "661": {
      "fn": "Ownable.transferOwnership",
      "jump": "i",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMP",
      "path": "4"
    },
    "662": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "663": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x548"
    },
    "666": {
      "fn": "Ownable.transferOwnership",
      "jump": "i",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMP",
      "path": "4"
    },
    "667": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "668": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x1A8"
    },
    "671": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x2A9"
    },
    "674": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "CALLDATASIZE",
      "path": "95"
    },
    "675": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x4"
    },
    "677": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x94A"
    },
    "680": {
      "fn": "TestOracle.request",
      "jump": "i",
      "offset": [
        289,
        856
      ],
      "op": "JUMP",
      "path": "95"
    },
    "681": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "682": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x5BE"
    },
    "685": {
      "fn": "TestOracle.request",
      "jump": "i",
      "offset": [
        289,
        856
      ],
      "op": "JUMP",
      "path": "95"
    },
    "686": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "687": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2601
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 6,
      "value": "0x6"
    },
    "689": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2601
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "690": {
      "fn": "Component.getState",
      "offset": [
        2620,
        2632
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x2"
    },
    "692": {
      "fn": "Component.getState",
      "offset": [
        2620,
        2632
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "693": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "695": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "696": {
      "op": "PUSH4",
      "value": "0x5E966E45"
    },
    "701": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "703": {
      "op": "SHL"
    },
    "704": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP2",
      "path": "29"
    },
    "705": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "706": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "708": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP2",
      "path": "29"
    },
    "709": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "ADD",
      "path": "29"
    },
    "710": {
      "op": "SWAP2"
    },
    "711": {
      "op": "SWAP1"
    },
    "712": {
      "op": "SWAP2"
    },
    "713": {
      "op": "MSTORE"
    },
    "714": {
      "fn": "Component.getState",
      "offset": [
        2549,
        2574
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "716": {
      "fn": "Component.getState",
      "offset": [
        2549,
        2574
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "717": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "719": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "721": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "723": {
      "op": "SHL"
    },
    "724": {
      "op": "SUB"
    },
    "725": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2601
      ],
      "op": "AND",
      "path": "29"
    },
    "726": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2601
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "727": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2619
      ],
      "op": "PUSH4",
      "path": "29",
      "value": "0x5E966E45"
    },
    "732": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2619
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "733": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "735": {
      "op": "ADD"
    },
    "736": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x20"
    },
    "738": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "740": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "741": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP1",
      "path": "29"
    },
    "742": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP4",
      "path": "29"
    },
    "743": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "SUB",
      "path": "29"
    },
    "744": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP2",
      "path": "29"
    },
    "745": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP7",
      "path": "29"
    },
    "746": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP1",
      "path": "29"
    },
    "747": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "EXTCODESIZE",
      "path": "29"
    },
    "748": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "749": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP1",
      "path": "29"
    },
    "750": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "751": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x2F7"
    },
    "754": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "755": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "757": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP1",
      "path": "29"
    },
    "758": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "REVERT",
      "path": "29"
    },
    "759": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "760": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "POP",
      "path": "29"
    },
    "761": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "GAS",
      "path": "29"
    },
    "762": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "STATICCALL",
      "path": "29"
    },
    "763": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "764": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP1",
      "path": "29"
    },
    "765": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "766": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x30B"
    },
    "769": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "770": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "RETURNDATASIZE",
      "path": "29"
    },
    "771": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "773": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP1",
      "path": "29"
    },
    "774": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "RETURNDATACOPY",
      "path": "29"
    },
    "775": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "RETURNDATASIZE",
      "path": "29"
    },
    "776": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "778": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "REVERT",
      "path": "29"
    },
    "779": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "780": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "POP",
      "path": "29"
    },
    "781": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "POP",
      "path": "29"
    },
    "782": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "POP",
      "path": "29"
    },
    "783": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "POP",
      "path": "29"
    },
    "784": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "786": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "787": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "RETURNDATASIZE",
      "path": "29"
    },
    "788": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x1F"
    },
    "790": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "NOT",
      "path": "29"
    },
    "791": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x1F"
    },
    "793": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP3",
      "path": "29"
    },
    "794": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "ADD",
      "path": "29"
    },
    "795": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "AND",
      "path": "29"
    },
    "796": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP3",
      "path": "29"
    },
    "797": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "ADD",
      "path": "29"
    },
    "798": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP1",
      "path": "29"
    },
    "799": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "801": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "802": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "POP",
      "path": "29"
    },
    "803": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "DUP2",
      "path": "29"
    },
    "804": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "ADD",
      "path": "29"
    },
    "805": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "806": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x32F"
    },
    "809": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "810": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "811": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x8E0"
    },
    "814": {
      "fn": "Component.getState",
      "jump": "i",
      "offset": [
        2585,
        2633
      ],
      "op": "JUMP",
      "path": "29"
    },
    "815": {
      "fn": "Component.getState",
      "offset": [
        2585,
        2633
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "816": {
      "fn": "Component.getState",
      "offset": [
        2578,
        2633
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "817": {
      "fn": "Component.getState",
      "offset": [
        2578,
        2633
      ],
      "op": "POP",
      "path": "29"
    },
    "818": {
      "fn": "Component.getState",
      "offset": [
        2500,
        2636
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "819": {
      "fn": "Component.getState",
      "jump": "o",
      "offset": [
        2500,
        2636
      ],
      "op": "JUMP",
      "path": "29"
    },
    "820": {
      "fn": "Component.approvalCallback",
      "offset": [
        3279,
        3357
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "821": {
      "offset": [
        1156,
        1188
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x349"
    },
    "824": {
      "op": "PUSH9",
      "value": "0x10DBDB5C1BDB995B9D"
    },
    "834": {
      "op": "PUSH1",
      "value": "0xBA"
    },
    "836": {
      "op": "SHL"
    },
    "837": {
      "offset": [
        1156,
        1175
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x668"
    },
    "840": {
      "jump": "i",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMP",
      "path": "29"
    },
    "841": {
      "fn": "Component.approvalCallback",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "842": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "844": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "846": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "848": {
      "op": "SHL"
    },
    "849": {
      "op": "SUB"
    },
    "850": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "851": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22",
      "statement": 7
    },
    "852": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "854": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "856": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "858": {
      "op": "SHL"
    },
    "859": {
      "op": "SUB"
    },
    "860": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "861": {
      "fn": "Context._msgSender",
      "offset": [
        1140,
        1188
      ],
      "op": "EQ",
      "path": "29"
    },
    "862": {
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x382"
    },
    "865": {
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "866": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "868": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "869": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "873": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "875": {
      "op": "SHL"
    },
    "876": {
      "offset": [
        1117,
        1233
      ],
      "op": "DUP2",
      "path": "29"
    },
    "877": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "878": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "880": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "ADD",
      "path": "29"
    },
    "881": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x379"
    },
    "884": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "885": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x9EF"
    },
    "888": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMP",
      "path": "29"
    },
    "889": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "890": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "892": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "893": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "DUP1",
      "path": "29"
    },
    "894": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "895": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "SUB",
      "path": "29"
    },
    "896": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "897": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "REVERT",
      "optimizer_revert": true,
      "path": "29"
    },
    "898": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "899": {
      "fn": "Component.approvalCallback",
      "offset": [
        3339,
        3354
      ],
      "op": "PUSH2",
      "path": "29",
      "statement": 8,
      "value": "0x38A"
    },
    "902": {
      "fn": "Component.approvalCallback",
      "offset": [
        3339,
        3352
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x6F0"
    },
    "905": {
      "fn": "Component.approvalCallback",
      "jump": "i",
      "offset": [
        3339,
        3354
      ],
      "op": "JUMP",
      "path": "29"
    },
    "906": {
      "fn": "Component.approvalCallback",
      "offset": [
        3339,
        3354
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "907": {
      "fn": "Component.approvalCallback",
      "jump": "o",
      "offset": [
        3279,
        3357
      ],
      "op": "JUMP",
      "path": "29"
    },
    "908": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "909": {
      "fn": "Component.isRiskpool",
      "offset": [
        3024,
        3028
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "911": {
      "fn": "Component.isRiskpool",
      "offset": [
        3057,
        3090
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 9,
      "value": "0x2"
    },
    "913": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "914": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3053
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x3"
    },
    "916": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3053
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "917": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3053
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0xFF"
    },
    "919": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3053
      ],
      "op": "AND",
      "path": "29"
    },
    "920": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x2"
    },
    "922": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "DUP2",
      "path": "29"
    },
    "923": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "GT",
      "path": "29"
    },
    "924": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "925": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x3B6"
    },
    "928": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "929": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "934": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "936": {
      "op": "SHL"
    },
    "937": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "939": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "940": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x21"
    },
    "942": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "944": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "945": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x24"
    },
    "947": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "949": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "REVERT",
      "path": "29"
    },
    "950": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "951": {
      "fn": "Component.isRiskpool",
      "offset": [
        3039,
        3090
      ],
      "op": "EQ",
      "path": "29"
    },
    "952": {
      "fn": "Component.isRiskpool",
      "offset": [
        3032,
        3090
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "953": {
      "fn": "Component.isRiskpool",
      "offset": [
        3032,
        3090
      ],
      "op": "POP",
      "path": "29"
    },
    "954": {
      "fn": "Component.isRiskpool",
      "offset": [
        2973,
        3093
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "955": {
      "fn": "Component.isRiskpool",
      "jump": "o",
      "offset": [
        2973,
        3093
      ],
      "op": "JUMP",
      "path": "29"
    },
    "956": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "957": {
      "offset": [
        1094,
        1107
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x3C4"
    },
    "960": {
      "offset": [
        1094,
        1105
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x72D"
    },
    "963": {
      "jump": "i",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMP",
      "path": "4"
    },
    "964": {
      "fn": "TestOracle.cancel",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "965": {
      "fn": "TestOracle.cancel",
      "offset": [
        862,
        1076
      ],
      "op": "POP",
      "path": "95"
    },
    "966": {
      "fn": "TestOracle.cancel",
      "jump": "o",
      "offset": [
        862,
        1076
      ],
      "op": "JUMP",
      "path": "95"
    },
    "967": {
      "fn": "Component.unpauseCallback",
      "offset": [
        3689,
        3766
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "968": {
      "offset": [
        1156,
        1188
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x3DC"
    },
    "971": {
      "op": "PUSH9",
      "value": "0x10DBDB5C1BDB995B9D"
    },
    "981": {
      "op": "PUSH1",
      "value": "0xBA"
    },
    "983": {
      "op": "SHL"
    },
    "984": {
      "offset": [
        1156,
        1175
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x668"
    },
    "987": {
      "jump": "i",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMP",
      "path": "29"
    },
    "988": {
      "fn": "Component.unpauseCallback",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "989": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "991": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "993": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "995": {
      "op": "SHL"
    },
    "996": {
      "op": "SUB"
    },
    "997": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "998": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "999": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1001": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1003": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1005": {
      "op": "SHL"
    },
    "1006": {
      "op": "SUB"
    },
    "1007": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "1008": {
      "fn": "Context._msgSender",
      "offset": [
        1140,
        1188
      ],
      "op": "EQ",
      "path": "29"
    },
    "1009": {
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x40C"
    },
    "1012": {
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "1013": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "1015": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "1016": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1020": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1022": {
      "op": "SHL"
    },
    "1023": {
      "offset": [
        1117,
        1233
      ],
      "op": "DUP2",
      "path": "29"
    },
    "1024": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "1025": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "1027": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "ADD",
      "path": "29"
    },
    "1028": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x379"
    },
    "1031": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1032": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x9EF"
    },
    "1035": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1036": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1037": {
      "fn": "Component.unpauseCallback",
      "offset": [
        3748,
        3763
      ],
      "op": "PUSH2",
      "path": "29",
      "statement": 10,
      "value": "0x38A"
    },
    "1040": {
      "fn": "Component.approvalCallback",
      "offset": [
        3279,
        3357
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1041": {
      "fn": "Component.proposalCallback",
      "offset": [
        3195,
        3273
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1042": {
      "offset": [
        1156,
        1188
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x426"
    },
    "1045": {
      "op": "PUSH9",
      "value": "0x10DBDB5C1BDB995B9D"
    },
    "1055": {
      "op": "PUSH1",
      "value": "0xBA"
    },
    "1057": {
      "op": "SHL"
    },
    "1058": {
      "offset": [
        1156,
        1175
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x668"
    },
    "1061": {
      "jump": "i",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1062": {
      "fn": "Component.proposalCallback",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1063": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1065": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1067": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1069": {
      "op": "SHL"
    },
    "1070": {
      "op": "SUB"
    },
    "1071": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "1072": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "1073": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1075": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1077": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1079": {
      "op": "SHL"
    },
    "1080": {
      "op": "SUB"
    },
    "1081": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "1082": {
      "fn": "Context._msgSender",
      "offset": [
        1140,
        1188
      ],
      "op": "EQ",
      "path": "29"
    },
    "1083": {
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x456"
    },
    "1086": {
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "1087": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "1089": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "1090": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1094": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1096": {
      "op": "SHL"
    },
    "1097": {
      "offset": [
        1117,
        1233
      ],
      "op": "DUP2",
      "path": "29"
    },
    "1098": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "1099": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "1101": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "ADD",
      "path": "29"
    },
    "1102": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x379"
    },
    "1105": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1106": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x9EF"
    },
    "1109": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1110": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1111": {
      "fn": "Component.proposalCallback",
      "offset": [
        3255,
        3270
      ],
      "op": "PUSH2",
      "path": "29",
      "statement": 11,
      "value": "0x38A"
    },
    "1114": {
      "fn": "Component.proposalCallback",
      "offset": [
        3255,
        3268
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x787"
    },
    "1117": {
      "fn": "Component.proposalCallback",
      "jump": "i",
      "offset": [
        3255,
        3270
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1118": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1831,
        1932
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1119": {
      "offset": [
        1094,
        1107
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x466"
    },
    "1122": {
      "offset": [
        1094,
        1105
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x72D"
    },
    "1125": {
      "jump": "i",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMP",
      "path": "4"
    },
    "1126": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1127": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1895,
        1925
      ],
      "op": "PUSH2",
      "path": "4",
      "statement": 12,
      "value": "0x38A"
    },
    "1130": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1922,
        1923
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "1132": {
      "fn": "Ownable.renounceOwnership",
      "offset": [
        1895,
        1913
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x7B1"
    },
    "1135": {
      "fn": "Ownable.renounceOwnership",
      "jump": "i",
      "offset": [
        1895,
        1925
      ],
      "op": "JUMP",
      "path": "4"
    },
    "1136": {
      "fn": "Component.isOracle",
      "offset": [
        2851,
        2967
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1137": {
      "fn": "Component.isOracle",
      "offset": [
        2900,
        2904
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "1139": {
      "fn": "Component.isOracle",
      "offset": [
        2900,
        2904
      ],
      "op": "DUP1",
      "path": "29"
    },
    "1140": {
      "fn": "Component.isOracle",
      "offset": [
        2915,
        2964
      ],
      "op": "PUSH2",
      "path": "29",
      "statement": 13,
      "value": "0x391"
    },
    "1143": {
      "fn": "Component.isOracle",
      "offset": [
        2915,
        2964
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1144": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "1145": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x40"
    },
    "1147": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "DUP1",
      "path": "95"
    },
    "1148": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "MLOAD",
      "path": "95"
    },
    "1149": {
      "op": "DUP3"
    },
    "1150": {
      "op": "ISZERO"
    },
    "1151": {
      "op": "ISZERO"
    },
    "1152": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x20"
    },
    "1154": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "DUP3",
      "path": "95"
    },
    "1155": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "ADD",
      "path": "95"
    },
    "1156": {
      "op": "MSTORE"
    },
    "1157": {
      "fn": "TestOracle.respond",
      "offset": [
        1355,
        1374
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x0"
    },
    "1159": {
      "fn": "TestOracle.respond",
      "offset": [
        1355,
        1374
      ],
      "op": "SWAP2",
      "path": "95"
    },
    "1160": {
      "op": "ADD"
    },
    "1161": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x40"
    },
    "1163": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "MLOAD",
      "path": "95"
    },
    "1164": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x20"
    },
    "1166": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "DUP2",
      "path": "95"
    },
    "1167": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "DUP4",
      "path": "95"
    },
    "1168": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "SUB",
      "path": "95"
    },
    "1169": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "SUB",
      "path": "95"
    },
    "1170": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "DUP2",
      "path": "95"
    },
    "1171": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "MSTORE",
      "path": "95"
    },
    "1172": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "SWAP1",
      "path": "95"
    },
    "1173": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x40"
    },
    "1175": {
      "fn": "TestOracle.respond",
      "offset": [
        1377,
        1406
      ],
      "op": "MSTORE",
      "path": "95"
    },
    "1176": {
      "fn": "TestOracle.respond",
      "offset": [
        1355,
        1406
      ],
      "op": "SWAP1",
      "path": "95"
    },
    "1177": {
      "fn": "TestOracle.respond",
      "offset": [
        1355,
        1406
      ],
      "op": "POP",
      "path": "95"
    },
    "1178": {
      "fn": "TestOracle.respond",
      "offset": [
        1464,
        1491
      ],
      "op": "PUSH2",
      "path": "95",
      "statement": 14,
      "value": "0x4A3"
    },
    "1181": {
      "fn": "TestOracle.respond",
      "offset": [
        1473,
        1482
      ],
      "op": "DUP4",
      "path": "95"
    },
    "1182": {
      "fn": "TestOracle.respond",
      "offset": [
        1484,
        1490
      ],
      "op": "DUP3",
      "path": "95"
    },
    "1183": {
      "fn": "TestOracle.respond",
      "offset": [
        1464,
        1472
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x801"
    },
    "1186": {
      "fn": "TestOracle.respond",
      "jump": "i",
      "offset": [
        1464,
        1491
      ],
      "op": "JUMP",
      "path": "95"
    },
    "1187": {
      "fn": "TestOracle.respond",
      "offset": [
        1464,
        1491
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "1188": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "POP",
      "path": "95"
    },
    "1189": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "POP",
      "path": "95"
    },
    "1190": {
      "fn": "TestOracle.respond",
      "offset": [
        1227,
        1498
      ],
      "op": "POP",
      "path": "95"
    },
    "1191": {
      "fn": "TestOracle.respond",
      "jump": "o",
      "offset": [
        1227,
        1498
      ],
      "op": "JUMP",
      "path": "95"
    },
    "1192": {
      "fn": "Component.declineCallback",
      "offset": [
        3363,
        3440
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1193": {
      "offset": [
        1156,
        1188
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x4BD"
    },
    "1196": {
      "op": "PUSH9",
      "value": "0x10DBDB5C1BDB995B9D"
    },
    "1206": {
      "op": "PUSH1",
      "value": "0xBA"
    },
    "1208": {
      "op": "SHL"
    },
    "1209": {
      "offset": [
        1156,
        1175
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x668"
    },
    "1212": {
      "jump": "i",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1213": {
      "fn": "Component.declineCallback",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1214": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1216": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1218": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1220": {
      "op": "SHL"
    },
    "1221": {
      "op": "SUB"
    },
    "1222": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "1223": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "1224": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1226": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1228": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1230": {
      "op": "SHL"
    },
    "1231": {
      "op": "SUB"
    },
    "1232": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "1233": {
      "fn": "Context._msgSender",
      "offset": [
        1140,
        1188
      ],
      "op": "EQ",
      "path": "29"
    },
    "1234": {
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x4ED"
    },
    "1237": {
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "1238": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "1240": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "1241": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1245": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1247": {
      "op": "SHL"
    },
    "1248": {
      "offset": [
        1117,
        1233
      ],
      "op": "DUP2",
      "path": "29"
    },
    "1249": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "1250": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "1252": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "ADD",
      "path": "29"
    },
    "1253": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x379"
    },
    "1256": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1257": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x9EF"
    },
    "1260": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1261": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1262": {
      "fn": "Component.declineCallback",
      "offset": [
        3422,
        3437
      ],
      "op": "PUSH2",
      "path": "29",
      "statement": 15,
      "value": "0x38A"
    },
    "1265": {
      "fn": "Component.declineCallback",
      "offset": [
        3422,
        3435
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x861"
    },
    "1268": {
      "fn": "Component.declineCallback",
      "jump": "i",
      "offset": [
        3422,
        3437
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1269": {
      "fn": "Component.setId",
      "offset": [
        2131,
        2212
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1270": {
      "offset": [
        1156,
        1188
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x50A"
    },
    "1273": {
      "op": "PUSH9",
      "value": "0x10DBDB5C1BDB995B9D"
    },
    "1283": {
      "op": "PUSH1",
      "value": "0xBA"
    },
    "1285": {
      "op": "SHL"
    },
    "1286": {
      "offset": [
        1156,
        1175
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x668"
    },
    "1289": {
      "jump": "i",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1290": {
      "fn": "Component.setId",
      "offset": [
        1156,
        1188
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1291": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1293": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1295": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1297": {
      "op": "SHL"
    },
    "1298": {
      "op": "SUB"
    },
    "1299": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "1300": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "1301": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1303": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1305": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1307": {
      "op": "SHL"
    },
    "1308": {
      "op": "SUB"
    },
    "1309": {
      "offset": [
        1140,
        1188
      ],
      "op": "AND",
      "path": "29"
    },
    "1310": {
      "branch": 31,
      "fn": "Context._msgSender",
      "offset": [
        1140,
        1188
      ],
      "op": "EQ",
      "path": "29"
    },
    "1311": {
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x53A"
    },
    "1314": {
      "branch": 31,
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "1315": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "1317": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "1318": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1322": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1324": {
      "op": "SHL"
    },
    "1325": {
      "offset": [
        1117,
        1233
      ],
      "op": "DUP2",
      "path": "29"
    },
    "1326": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "1327": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "1329": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "ADD",
      "path": "29"
    },
    "1330": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x379"
    },
    "1333": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1334": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x9EF"
    },
    "1337": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1338": {
      "fn": "Context._msgSender",
      "offset": [
        1117,
        1233
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1339": {
      "fn": "Component.setId",
      "offset": [
        2192,
        2204
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 16,
      "value": "0x2"
    },
    "1341": {
      "fn": "Component.setId",
      "offset": [
        2192,
        2209
      ],
      "op": "SSTORE",
      "path": "29"
    },
    "1342": {
      "fn": "Component.setId",
      "jump": "o",
      "offset": [
        2131,
        2212
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1343": {
      "fn": "Component.isProduct",
      "offset": [
        2727,
        2845
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1344": {
      "fn": "Component.isProduct",
      "offset": [
        2777,
        2781
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "1346": {
      "fn": "Component.isProduct",
      "offset": [
        2810,
        2842
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 17,
      "value": "0x1"
    },
    "1348": {
      "fn": "Component.isProduct",
      "offset": [
        2792,
        2842
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x391"
    },
    "1351": {
      "fn": "Component.isProduct",
      "offset": [
        2792,
        2842
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1352": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2081,
        2279
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1353": {
      "offset": [
        1094,
        1107
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x550"
    },
    "1356": {
      "offset": [
        1094,
        1105
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x72D"
    },
    "1359": {
      "jump": "i",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMP",
      "path": "4"
    },
    "1360": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        1094,
        1107
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1361": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1363": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1365": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1367": {
      "op": "SHL"
    },
    "1368": {
      "op": "SUB"
    },
    "1369": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2169,
        2191
      ],
      "op": "DUP2",
      "path": "4",
      "statement": 18
    },
    "1370": {
      "branch": 33,
      "fn": "Ownable.transferOwnership",
      "offset": [
        2169,
        2191
      ],
      "op": "AND",
      "path": "4"
    },
    "1371": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x5B5"
    },
    "1374": {
      "branch": 33,
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1375": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "1377": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1378": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1382": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1384": {
      "op": "SHL"
    },
    "1385": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1386": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1387": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1389": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "1391": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1392": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "ADD",
      "path": "4"
    },
    "1393": {
      "op": "MSTORE"
    },
    "1394": {
      "op": "PUSH1",
      "value": "0x26"
    },
    "1396": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1398": {
      "op": "DUP3"
    },
    "1399": {
      "op": "ADD"
    },
    "1400": {
      "op": "MSTORE"
    },
    "1401": {
      "op": "PUSH32",
      "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061"
    },
    "1434": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1436": {
      "op": "DUP3"
    },
    "1437": {
      "op": "ADD"
    },
    "1438": {
      "op": "MSTORE"
    },
    "1439": {
      "op": "PUSH6",
      "value": "0x646472657373"
    },
    "1446": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "1448": {
      "op": "SHL"
    },
    "1449": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1451": {
      "op": "DUP3"
    },
    "1452": {
      "op": "ADD"
    },
    "1453": {
      "op": "MSTORE"
    },
    "1454": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1456": {
      "op": "ADD"
    },
    "1457": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x379"
    },
    "1460": {
      "op": "JUMP"
    },
    "1461": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2161,
        2234
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1462": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2244,
        2272
      ],
      "op": "PUSH2",
      "path": "4",
      "statement": 19,
      "value": "0x3C4"
    },
    "1465": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2263,
        2271
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1466": {
      "fn": "Ownable.transferOwnership",
      "offset": [
        2244,
        2262
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x7B1"
    },
    "1469": {
      "fn": "Ownable.transferOwnership",
      "jump": "i",
      "offset": [
        2244,
        2272
      ],
      "op": "JUMP",
      "path": "4"
    },
    "1470": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "1471": {
      "offset": [
        375,
        403
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x5CF"
    },
    "1474": {
      "op": "PUSH5",
      "value": "0x5175657279"
    },
    "1480": {
      "op": "PUSH1",
      "value": "0xD8"
    },
    "1482": {
      "op": "SHL"
    },
    "1483": {
      "offset": [
        375,
        394
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x668"
    },
    "1486": {
      "jump": "i",
      "offset": [
        375,
        403
      ],
      "op": "JUMP",
      "path": "34"
    },
    "1487": {
      "fn": "TestOracle.request",
      "offset": [
        375,
        403
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "1488": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1490": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1492": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1494": {
      "op": "SHL"
    },
    "1495": {
      "op": "SUB"
    },
    "1496": {
      "offset": [
        359,
        403
      ],
      "op": "AND",
      "path": "34"
    },
    "1497": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "1498": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1500": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1502": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1504": {
      "op": "SHL"
    },
    "1505": {
      "op": "SUB"
    },
    "1506": {
      "offset": [
        359,
        403
      ],
      "op": "AND",
      "path": "34"
    },
    "1507": {
      "branch": 32,
      "fn": "Context._msgSender",
      "offset": [
        359,
        403
      ],
      "op": "EQ",
      "path": "34"
    },
    "1508": {
      "offset": [
        336,
        458
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x62F"
    },
    "1511": {
      "branch": 32,
      "offset": [
        336,
        458
      ],
      "op": "JUMPI",
      "path": "34"
    },
    "1512": {
      "fn": "Context._msgSender",
      "offset": [
        336,
        458
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x40"
    },
    "1514": {
      "fn": "Context._msgSender",
      "offset": [
        336,
        458
      ],
      "op": "MLOAD",
      "path": "34"
    },
    "1515": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1519": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1521": {
      "op": "SHL"
    },
    "1522": {
      "offset": [
        336,
        458
      ],
      "op": "DUP2",
      "path": "34"
    },
    "1523": {
      "fn": "Context._msgSender",
      "offset": [
        336,
        458
      ],
      "op": "MSTORE",
      "path": "34"
    },
    "1524": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1526": {
      "offset": [
        336,
        458
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x4"
    },
    "1528": {
      "fn": "Context._msgSender",
      "offset": [
        336,
        458
      ],
      "op": "DUP3",
      "path": "34"
    },
    "1529": {
      "fn": "Context._msgSender",
      "offset": [
        336,
        458
      ],
      "op": "ADD",
      "path": "34"
    },
    "1530": {
      "op": "MSTORE"
    },
    "1531": {
      "op": "PUSH1",
      "value": "0x1B"
    },
    "1533": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1535": {
      "op": "DUP3"
    },
    "1536": {
      "op": "ADD"
    },
    "1537": {
      "op": "MSTORE"
    },
    "1538": {
      "op": "PUSH32",
      "value": "0x4552524F523A4F52412D3030313A4143434553535F44454E4945440000000000"
    },
    "1571": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1573": {
      "op": "DUP3"
    },
    "1574": {
      "op": "ADD"
    },
    "1575": {
      "op": "MSTORE"
    },
    "1576": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1578": {
      "op": "ADD"
    },
    "1579": {
      "offset": [
        336,
        458
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x379"
    },
    "1582": {
      "op": "JUMP"
    },
    "1583": {
      "offset": [
        336,
        458
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "1584": {
      "fn": "TestOracle.request",
      "offset": [
        422,
        437
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x0"
    },
    "1586": {
      "fn": "TestOracle.request",
      "offset": [
        422,
        437
      ],
      "op": "DUP1",
      "path": "95"
    },
    "1587": {
      "fn": "TestOracle.request",
      "offset": [
        465,
        499
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x63E"
    },
    "1590": {
      "fn": "TestOracle.request",
      "offset": [
        465,
        499
      ],
      "op": "DUP4",
      "path": "95"
    },
    "1591": {
      "fn": "TestOracle.request",
      "offset": [
        465,
        499
      ],
      "op": "DUP6",
      "path": "95"
    },
    "1592": {
      "fn": "TestOracle.request",
      "offset": [
        465,
        499
      ],
      "op": "ADD",
      "path": "95"
    },
    "1593": {
      "fn": "TestOracle.request",
      "offset": [
        476,
        481
      ],
      "op": "DUP6",
      "path": "95"
    },
    "1594": {
      "fn": "TestOracle.request",
      "offset": [
        465,
        499
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x917"
    },
    "1597": {
      "fn": "TestOracle.request",
      "jump": "i",
      "offset": [
        465,
        499
      ],
      "op": "JUMP",
      "path": "95"
    },
    "1598": {
      "fn": "TestOracle.request",
      "offset": [
        465,
        499
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "1599": {
      "fn": "TestOracle.request",
      "offset": [
        421,
        499
      ],
      "op": "SWAP2",
      "path": "95"
    },
    "1600": {
      "fn": "TestOracle.request",
      "offset": [
        421,
        499
      ],
      "op": "POP",
      "path": "95"
    },
    "1601": {
      "fn": "TestOracle.request",
      "offset": [
        421,
        499
      ],
      "op": "SWAP2",
      "path": "95"
    },
    "1602": {
      "fn": "TestOracle.request",
      "offset": [
        421,
        499
      ],
      "op": "POP",
      "path": "95"
    },
    "1603": {
      "branch": 30,
      "fn": "TestOracle.request",
      "offset": [
        514,
        531
      ],
      "op": "DUP1",
      "path": "95"
    },
    "1604": {
      "fn": "TestOracle.request",
      "offset": [
        510,
        850
      ],
      "op": "ISZERO",
      "path": "95"
    },
    "1605": {
      "fn": "TestOracle.request",
      "offset": [
        510,
        850
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x661"
    },
    "1608": {
      "branch": 30,
      "fn": "TestOracle.request",
      "offset": [
        510,
        850
      ],
      "op": "JUMPI",
      "path": "95"
    },
    "1609": {
      "fn": "TestOracle.request",
      "offset": [
        748,
        764
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x0"
    },
    "1611": {
      "fn": "TestOracle.request",
      "offset": [
        767,
        794
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x653"
    },
    "1614": {
      "fn": "TestOracle.request",
      "offset": [
        786,
        793
      ],
      "op": "DUP4",
      "path": "95"
    },
    "1615": {
      "fn": "TestOracle.request",
      "offset": [
        767,
        785
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x88B"
    },
    "1618": {
      "fn": "TestOracle.request",
      "jump": "i",
      "offset": [
        767,
        794
      ],
      "op": "JUMP",
      "path": "95"
    },
    "1619": {
      "fn": "TestOracle.request",
      "offset": [
        767,
        794
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "1620": {
      "fn": "TestOracle.request",
      "offset": [
        748,
        794
      ],
      "op": "SWAP1",
      "path": "95"
    },
    "1621": {
      "fn": "TestOracle.request",
      "offset": [
        748,
        794
      ],
      "op": "POP",
      "path": "95"
    },
    "1622": {
      "fn": "TestOracle.request",
      "offset": [
        808,
        839
      ],
      "op": "PUSH2",
      "path": "95",
      "statement": 20,
      "value": "0x65F"
    },
    "1625": {
      "fn": "TestOracle.request",
      "offset": [
        816,
        825
      ],
      "op": "DUP7",
      "path": "95"
    },
    "1626": {
      "fn": "TestOracle.request",
      "offset": [
        827,
        838
      ],
      "op": "DUP3",
      "path": "95"
    },
    "1627": {
      "fn": "TestOracle.request",
      "offset": [
        808,
        815
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0x478"
    },
    "1630": {
      "fn": "TestOracle.request",
      "jump": "i",
      "offset": [
        808,
        839
      ],
      "op": "JUMP",
      "path": "95"
    },
    "1631": {
      "fn": "TestOracle.request",
      "offset": [
        808,
        839
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "1632": {
      "fn": "TestOracle.request",
      "offset": [
        510,
        850
      ],
      "op": "POP",
      "path": "95"
    },
    "1633": {
      "fn": "TestOracle.request",
      "offset": [
        510,
        850
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "1634": {
      "offset": [
        469,
        470
      ],
      "op": "POP",
      "path": "34"
    },
    "1635": {
      "fn": "TestOracle.request",
      "offset": [
        469,
        470
      ],
      "op": "POP",
      "path": "34"
    },
    "1636": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "POP",
      "path": "95"
    },
    "1637": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "POP",
      "path": "95"
    },
    "1638": {
      "fn": "TestOracle.request",
      "offset": [
        289,
        856
      ],
      "op": "POP",
      "path": "95"
    },
    "1639": {
      "fn": "TestOracle.request",
      "jump": "o",
      "offset": [
        289,
        856
      ],
      "op": "JUMP",
      "path": "95"
    },
    "1640": {
      "fn": "Component._getContractAddress",
      "offset": [
        4875,
        5020
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1641": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4986
      ],
      "op": "PUSH1",
      "path": "29",
      "statement": 21,
      "value": "0x3"
    },
    "1643": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4986
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "1644": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "1646": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "1647": {
      "op": "PUSH4",
      "value": "0x1C2D8FB3"
    },
    "1652": {
      "op": "PUSH1",
      "value": "0xE3"
    },
    "1654": {
      "op": "SHL"
    },
    "1655": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP2",
      "path": "29"
    },
    "1656": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "1657": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x4"
    },
    "1659": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP2",
      "path": "29"
    },
    "1660": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "ADD",
      "path": "29"
    },
    "1661": {
      "op": "DUP4"
    },
    "1662": {
      "op": "SWAP1"
    },
    "1663": {
      "op": "MSTORE"
    },
    "1664": {
      "fn": "Component._getContractAddress",
      "offset": [
        4949,
        4956
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "1666": {
      "fn": "Component._getContractAddress",
      "offset": [
        4949,
        4956
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "1667": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4986
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x100"
    },
    "1670": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4986
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1671": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4986
      ],
      "op": "DIV",
      "path": "29"
    },
    "1672": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1674": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1676": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1678": {
      "op": "SHL"
    },
    "1679": {
      "op": "SUB"
    },
    "1680": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4986
      ],
      "op": "AND",
      "path": "29"
    },
    "1681": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4986
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1682": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4998
      ],
      "op": "PUSH4",
      "path": "29",
      "value": "0xE16C7D98"
    },
    "1687": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        4998
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1688": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1690": {
      "op": "ADD"
    },
    "1691": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x20"
    },
    "1693": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "1695": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "1696": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP1",
      "path": "29"
    },
    "1697": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP4",
      "path": "29"
    },
    "1698": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "SUB",
      "path": "29"
    },
    "1699": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP2",
      "path": "29"
    },
    "1700": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP7",
      "path": "29"
    },
    "1701": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP1",
      "path": "29"
    },
    "1702": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "EXTCODESIZE",
      "path": "29"
    },
    "1703": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "1704": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP1",
      "path": "29"
    },
    "1705": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "1706": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x6B2"
    },
    "1709": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "1710": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "1712": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP1",
      "path": "29"
    },
    "1713": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "REVERT",
      "path": "29"
    },
    "1714": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1715": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "POP",
      "path": "29"
    },
    "1716": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "GAS",
      "path": "29"
    },
    "1717": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "STATICCALL",
      "path": "29"
    },
    "1718": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "1719": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP1",
      "path": "29"
    },
    "1720": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "ISZERO",
      "path": "29"
    },
    "1721": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x6C6"
    },
    "1724": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "JUMPI",
      "path": "29"
    },
    "1725": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "RETURNDATASIZE",
      "path": "29"
    },
    "1726": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "1728": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP1",
      "path": "29"
    },
    "1729": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "RETURNDATACOPY",
      "path": "29"
    },
    "1730": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "RETURNDATASIZE",
      "path": "29"
    },
    "1731": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x0"
    },
    "1733": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "REVERT",
      "path": "29"
    },
    "1734": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1735": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "POP",
      "path": "29"
    },
    "1736": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "POP",
      "path": "29"
    },
    "1737": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "POP",
      "path": "29"
    },
    "1738": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "POP",
      "path": "29"
    },
    "1739": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "1741": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "MLOAD",
      "path": "29"
    },
    "1742": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "RETURNDATASIZE",
      "path": "29"
    },
    "1743": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x1F"
    },
    "1745": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "NOT",
      "path": "29"
    },
    "1746": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x1F"
    },
    "1748": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP3",
      "path": "29"
    },
    "1749": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "ADD",
      "path": "29"
    },
    "1750": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "AND",
      "path": "29"
    },
    "1751": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP3",
      "path": "29"
    },
    "1752": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "ADD",
      "path": "29"
    },
    "1753": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP1",
      "path": "29"
    },
    "1754": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x40"
    },
    "1756": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "MSTORE",
      "path": "29"
    },
    "1757": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "POP",
      "path": "29"
    },
    "1758": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "DUP2",
      "path": "29"
    },
    "1759": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "ADD",
      "path": "29"
    },
    "1760": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1761": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x6EA"
    },
    "1764": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "1765": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1766": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "PUSH2",
      "path": "29",
      "value": "0x8C4"
    },
    "1769": {
      "fn": "Component._getContractAddress",
      "jump": "i",
      "offset": [
        4977,
        5012
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1770": {
      "fn": "Component._getContractAddress",
      "offset": [
        4977,
        5012
      ],
      "op": "JUMPDEST",
      "path": "29"
    },
    "1771": {
      "fn": "Component._getContractAddress",
      "offset": [
        4970,
        5012
      ],
      "op": "SWAP3",
      "path": "29"
    },
    "1772": {
      "fn": "Component._getContractAddress",
      "offset": [
        4875,
        5020
      ],
      "op": "SWAP2",
      "path": "29"
    },
    "1773": {
      "op": "POP"
    },
    "1774": {
      "op": "POP"
    },
    "1775": {
      "fn": "Component._getContractAddress",
      "jump": "o",
      "offset": [
        4875,
        5020
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1776": {
      "fn": "Oracle._afterApprove",
      "offset": [
        810,
        905
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "1777": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "PUSH32",
      "path": "34",
      "statement": 22,
      "value": "0x33A6EC8D94D03F2C0A2DA3411552B0777613E4220ABD6CE5679DECB30AF09B23"
    },
    "1810": {
      "fn": "Oracle._afterApprove",
      "offset": [
        888,
        895
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x71A"
    },
    "1813": {
      "fn": "Component.getId",
      "offset": [
        2373,
        2385
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x2"
    },
    "1815": {
      "fn": "Component.getId",
      "offset": [
        2373,
        2385
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "1816": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1817": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1818": {
      "fn": "Oracle._afterApprove",
      "offset": [
        888,
        895
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "1819": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x40"
    },
    "1821": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "MLOAD",
      "path": "34"
    },
    "1822": {
      "op": "SWAP1"
    },
    "1823": {
      "op": "DUP2"
    },
    "1824": {
      "op": "MSTORE"
    },
    "1825": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1827": {
      "op": "ADD"
    },
    "1828": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x40"
    },
    "1830": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "MLOAD",
      "path": "34"
    },
    "1831": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "DUP1",
      "path": "34"
    },
    "1832": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "SWAP2",
      "path": "34"
    },
    "1833": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "SUB",
      "path": "34"
    },
    "1834": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "SWAP1",
      "path": "34"
    },
    "1835": {
      "fn": "Oracle._afterApprove",
      "offset": [
        870,
        896
      ],
      "op": "LOG1",
      "path": "34"
    },
    "1836": {
      "fn": "Oracle._afterApprove",
      "jump": "o",
      "offset": [
        810,
        905
      ],
      "op": "JUMP",
      "path": "34"
    },
    "1837": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1359,
        1489
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1838": {
      "fn": "Ownable.owner",
      "offset": [
        1247,
        1254
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "1840": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "SLOAD",
      "path": "4"
    },
    "1841": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1843": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1845": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1847": {
      "op": "SHL"
    },
    "1848": {
      "op": "SUB"
    },
    "1849": {
      "fn": "Ownable.owner",
      "offset": [
        1273,
        1279
      ],
      "op": "AND",
      "path": "4"
    },
    "1850": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "22"
    },
    "1851": {
      "branch": 34,
      "fn": "Ownable._checkOwner",
      "offset": [
        1422,
        1445
      ],
      "op": "EQ",
      "path": "4",
      "statement": 23
    },
    "1852": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x38A"
    },
    "1855": {
      "branch": 34,
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1856": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "1858": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1859": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1863": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1865": {
      "op": "SHL"
    },
    "1866": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1867": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1868": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1870": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "1872": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1873": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "ADD",
      "path": "4"
    },
    "1874": {
      "op": "DUP2"
    },
    "1875": {
      "op": "SWAP1"
    },
    "1876": {
      "op": "MSTORE"
    },
    "1877": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1879": {
      "op": "DUP3"
    },
    "1880": {
      "op": "ADD"
    },
    "1881": {
      "op": "MSTORE"
    },
    "1882": {
      "op": "PUSH32",
      "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572"
    },
    "1915": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1917": {
      "op": "DUP3"
    },
    "1918": {
      "op": "ADD"
    },
    "1919": {
      "op": "MSTORE"
    },
    "1920": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1922": {
      "op": "ADD"
    },
    "1923": {
      "fn": "Ownable._checkOwner",
      "offset": [
        1414,
        1482
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x379"
    },
    "1926": {
      "op": "JUMP"
    },
    "1927": {
      "fn": "Oracle._afterPropose",
      "offset": [
        913,
        992
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "1928": {
      "fn": "Oracle._afterPropose",
      "offset": [
        963,
        989
      ],
      "op": "PUSH32",
      "path": "34",
      "statement": 24,
      "value": "0xDB7E2F5405EA10CAD5583CE31A1BDE125FF32946EDB3CE5972D70EA3F2C214E6"
    },
    "1961": {
      "fn": "Oracle._afterPropose",
      "offset": [
        981,
        988
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x71A"
    },
    "1964": {
      "fn": "Component.getId",
      "offset": [
        2373,
        2385
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x2"
    },
    "1966": {
      "fn": "Component.getId",
      "offset": [
        2373,
        2385
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "1967": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "1968": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "JUMP",
      "path": "29"
    },
    "1969": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2433,
        2620
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1970": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2506,
        2522
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "1972": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "DUP1",
      "path": "4"
    },
    "1973": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SLOAD",
      "path": "4"
    },
    "1974": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1976": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1978": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1980": {
      "op": "SHL"
    },
    "1981": {
      "op": "SUB"
    },
    "1982": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP4",
      "path": "4",
      "statement": 25
    },
    "1983": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1984": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "AND",
      "path": "4"
    },
    "1985": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1987": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1989": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1991": {
      "op": "SHL"
    },
    "1992": {
      "op": "SUB"
    },
    "1993": {
      "op": "NOT"
    },
    "1994": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP4",
      "path": "4"
    },
    "1995": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "AND",
      "path": "4"
    },
    "1996": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1997": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "OR",
      "path": "4"
    },
    "1998": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "DUP5",
      "path": "4"
    },
    "1999": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2541,
        2558
      ],
      "op": "SSTORE",
      "path": "4"
    },
    "2000": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "PUSH1",
      "path": "4",
      "statement": 26,
      "value": "0x40"
    },
    "2002": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "2003": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "2004": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "2005": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP3",
      "path": "4"
    },
    "2006": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "AND",
      "path": "4"
    },
    "2007": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP3",
      "path": "4"
    },
    "2008": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "DUP4",
      "path": "4"
    },
    "2009": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2525,
        2531
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "2010": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "PUSH32",
      "path": "4",
      "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0"
    },
    "2043": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "2044": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2506,
        2522
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "2045": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2573,
        2613
      ],
      "op": "LOG3",
      "path": "4"
    },
    "2046": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2433,
        2620
      ],
      "op": "POP",
      "path": "4"
    },
    "2047": {
      "fn": "Ownable._transferOwnership",
      "offset": [
        2433,
        2620
      ],
      "op": "POP",
      "path": "4"
    },
    "2048": {
      "fn": "Ownable._transferOwnership",
      "jump": "o",
      "offset": [
        2433,
        2620
      ],
      "op": "JUMP",
      "path": "4"
    },
    "2049": {
      "fn": "Oracle._respond",
      "offset": [
        1085,
        1208
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "2050": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1175
      ],
      "op": "PUSH1",
      "path": "34",
      "statement": 27,
      "value": "0x7"
    },
    "2052": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1175
      ],
      "op": "SLOAD",
      "path": "34"
    },
    "2053": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x40"
    },
    "2055": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "MLOAD",
      "path": "34"
    },
    "2056": {
      "op": "PUSH4",
      "value": "0x7204A9A5"
    },
    "2061": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "2063": {
      "op": "SHL"
    },
    "2064": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP2",
      "path": "34"
    },
    "2065": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "MSTORE",
      "path": "34"
    },
    "2066": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2068": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2070": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2072": {
      "op": "SHL"
    },
    "2073": {
      "op": "SUB"
    },
    "2074": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1175
      ],
      "op": "SWAP1",
      "path": "34"
    },
    "2075": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1175
      ],
      "op": "SWAP2",
      "path": "34"
    },
    "2076": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1175
      ],
      "op": "AND",
      "path": "34"
    },
    "2077": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1175
      ],
      "op": "SWAP1",
      "path": "34"
    },
    "2078": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1183
      ],
      "op": "PUSH4",
      "path": "34",
      "value": "0xE409534A"
    },
    "2083": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1183
      ],
      "op": "SWAP1",
      "path": "34"
    },
    "2084": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x833"
    },
    "2087": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "SWAP1",
      "path": "34"
    },
    "2088": {
      "fn": "Oracle._respond",
      "offset": [
        1184,
        1193
      ],
      "op": "DUP6",
      "path": "34"
    },
    "2089": {
      "fn": "Oracle._respond",
      "offset": [
        1184,
        1193
      ],
      "op": "SWAP1",
      "path": "34"
    },
    "2090": {
      "fn": "Oracle._respond",
      "offset": [
        1195,
        1199
      ],
      "op": "DUP6",
      "path": "34"
    },
    "2091": {
      "fn": "Oracle._respond",
      "offset": [
        1195,
        1199
      ],
      "op": "SWAP1",
      "path": "34"
    },
    "2092": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x4"
    },
    "2094": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "ADD",
      "path": "34"
    },
    "2095": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0xA26"
    },
    "2098": {
      "fn": "Oracle._respond",
      "jump": "i",
      "offset": [
        1161,
        1200
      ],
      "op": "JUMP",
      "path": "34"
    },
    "2099": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "2100": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x0"
    },
    "2102": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x40"
    },
    "2104": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "MLOAD",
      "path": "34"
    },
    "2105": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP1",
      "path": "34"
    },
    "2106": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP4",
      "path": "34"
    },
    "2107": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "SUB",
      "path": "34"
    },
    "2108": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP2",
      "path": "34"
    },
    "2109": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x0"
    },
    "2111": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP8",
      "path": "34"
    },
    "2112": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP1",
      "path": "34"
    },
    "2113": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "EXTCODESIZE",
      "path": "34"
    },
    "2114": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "ISZERO",
      "path": "34"
    },
    "2115": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP1",
      "path": "34"
    },
    "2116": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "ISZERO",
      "path": "34"
    },
    "2117": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x84D"
    },
    "2120": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "JUMPI",
      "path": "34"
    },
    "2121": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x0"
    },
    "2123": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP1",
      "path": "34"
    },
    "2124": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "REVERT",
      "path": "34"
    },
    "2125": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "2126": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "POP",
      "path": "34"
    },
    "2127": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "GAS",
      "path": "34"
    },
    "2128": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "CALL",
      "path": "34"
    },
    "2129": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "ISZERO",
      "path": "34"
    },
    "2130": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP1",
      "path": "34"
    },
    "2131": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "ISZERO",
      "path": "34"
    },
    "2132": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x65F"
    },
    "2135": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "JUMPI",
      "path": "34"
    },
    "2136": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "RETURNDATASIZE",
      "path": "34"
    },
    "2137": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x0"
    },
    "2139": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "DUP1",
      "path": "34"
    },
    "2140": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "RETURNDATACOPY",
      "path": "34"
    },
    "2141": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "RETURNDATASIZE",
      "path": "34"
    },
    "2142": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "PUSH1",
      "path": "34",
      "value": "0x0"
    },
    "2144": {
      "fn": "Oracle._respond",
      "offset": [
        1161,
        1200
      ],
      "op": "REVERT",
      "path": "34"
    },
    "2145": {
      "fn": "Oracle._afterDecline",
      "offset": [
        998,
        1077
      ],
      "op": "JUMPDEST",
      "path": "34"
    },
    "2146": {
      "fn": "Oracle._afterDecline",
      "offset": [
        1048,
        1074
      ],
      "op": "PUSH32",
      "path": "34",
      "statement": 28,
      "value": "0x1855FCCE92CB172C06FD991F1B19774237130B37CF6806BC01AA4E3A0C359E2D"
    },
    "2179": {
      "fn": "Oracle._afterDecline",
      "offset": [
        1066,
        1073
      ],
      "op": "PUSH2",
      "path": "34",
      "value": "0x71A"
    },
    "2182": {
      "fn": "Component.getId",
      "offset": [
        2373,
        2385
      ],
      "op": "PUSH1",
      "path": "29",
      "value": "0x2"
    },
    "2184": {
      "fn": "Component.getId",
      "offset": [
        2373,
        2385
      ],
      "op": "SLOAD",
      "path": "29"
    },
    "2185": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "SWAP1",
      "path": "29"
    },
    "2186": {
      "fn": "Component.getId",
      "offset": [
        2309,
        2388
      ],
      "op": "JUMP",
      "path": "29"
    },
    "2187": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1655,
        1785
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "2188": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1718,
        1734
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x0"
    },
    "2190": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1761,
        1772
      ],
      "op": "PUSH2",
      "path": "95",
      "statement": 29,
      "value": "0x898"
    },
    "2193": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1771,
        1772
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x2"
    },
    "2195": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1761,
        1768
      ],
      "op": "DUP4",
      "path": "95"
    },
    "2196": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1761,
        1772
      ],
      "op": "PUSH2",
      "path": "95",
      "value": "0xA81"
    },
    "2199": {
      "fn": "TestOracle._oracleCalculation",
      "jump": "i",
      "offset": [
        1761,
        1772
      ],
      "op": "JUMP",
      "path": "95"
    },
    "2200": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1761,
        1772
      ],
      "op": "JUMPDEST",
      "path": "95"
    },
    "2201": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1776,
        1777
      ],
      "op": "PUSH1",
      "path": "95",
      "value": "0x1"
    },
    "2203": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1761,
        1777
      ],
      "op": "EQ",
      "path": "95"
    },
    "2204": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1761,
        1777
      ],
      "op": "SWAP3",
      "path": "95"
    },
    "2205": {
      "fn": "TestOracle._oracleCalculation",
      "offset": [
        1655,
        1785
      ],
      "op": "SWAP2",
      "path": "95"
    },
    "2206": {
      "op": "POP"
    },
    "2207": {
      "op": "POP"
    },
    "2208": {
      "fn": "TestOracle._oracleCalculation",
      "jump": "o",
      "offset": [
        1655,
        1785
      ],
      "op": "JUMP",
      "path": "95"
    },
    "2209": {
      "op": "JUMPDEST"
    },
    "2210": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2212": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2214": {
      "op": "DUP3"
    },
    "2215": {
      "op": "DUP5"
    },
    "2216": {
      "op": "SUB"
    },
    "2217": {
      "op": "SLT"
    },
    "2218": {
      "op": "ISZERO"
    },
    "2219": {
      "op": "PUSH2",
      "value": "0x8B2"
    },
    "2222": {
      "op": "JUMPI"
    },
    "2223": {
      "op": "DUP1"
    },
    "2224": {
      "op": "DUP2"
    },
    "2225": {
      "op": "REVERT"
    },
    "2226": {
      "op": "JUMPDEST"
    },
    "2227": {
      "op": "DUP2"
    },
    "2228": {
      "op": "CALLDATALOAD"
    },
    "2229": {
      "op": "PUSH2",
      "value": "0x8BD"
    },
    "2232": {
      "op": "DUP2"
    },
    "2233": {
      "op": "PUSH2",
      "value": "0xAB7"
    },
    "2236": {
      "jump": "i",
      "op": "JUMP"
    },
    "2237": {
      "op": "JUMPDEST"
    },
    "2238": {
      "op": "SWAP4"
    },
    "2239": {
      "op": "SWAP3"
    },
    "2240": {
      "op": "POP"
    },
    "2241": {
      "op": "POP"
    },
    "2242": {
      "op": "POP"
    },
    "2243": {
      "jump": "o",
      "op": "JUMP"
    },
    "2244": {
      "op": "JUMPDEST"
    },
    "2245": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2247": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2249": {
      "op": "DUP3"
    },
    "2250": {
      "op": "DUP5"
    },
    "2251": {
      "op": "SUB"
    },
    "2252": {
      "op": "SLT"
    },
    "2253": {
      "op": "ISZERO"
    },
    "2254": {
      "op": "PUSH2",
      "value": "0x8D5"
    },
    "2257": {
      "op": "JUMPI"
    },
    "2258": {
      "op": "DUP1"
    },
    "2259": {
      "op": "DUP2"
    },
    "2260": {
      "op": "REVERT"
    },
    "2261": {
      "op": "JUMPDEST"
    },
    "2262": {
      "op": "DUP2"
    },
    "2263": {
      "op": "MLOAD"
    },
    "2264": {
      "op": "PUSH2",
      "value": "0x8BD"
    },
    "2267": {
      "op": "DUP2"
    },
    "2268": {
      "op": "PUSH2",
      "value": "0xAB7"
    },
    "2271": {
      "jump": "i",
      "op": "JUMP"
    },
    "2272": {
      "op": "JUMPDEST"
    },
    "2273": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2275": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2277": {
      "op": "DUP3"
    },
    "2278": {
      "op": "DUP5"
    },
    "2279": {
      "op": "SUB"
    },
    "2280": {
      "op": "SLT"
    },
    "2281": {
      "op": "ISZERO"
    },
    "2282": {
      "op": "PUSH2",
      "value": "0x8F1"
    },
    "2285": {
      "op": "JUMPI"
    },
    "2286": {
      "op": "DUP1"
    },
    "2287": {
      "op": "DUP2"
    },
    "2288": {
      "op": "REVERT"
    },
    "2289": {
      "op": "JUMPDEST"
    },
    "2290": {
      "op": "DUP2"
    },
    "2291": {
      "op": "MLOAD"
    },
    "2292": {
      "op": "PUSH1",
      "value": "0x7"
    },
    "2294": {
      "op": "DUP2"
    },
    "2295": {
      "op": "LT"
    },
    "2296": {
      "op": "PUSH2",
      "value": "0x8BD"
    },
    "2299": {
      "op": "JUMPI"
    },
    "2300": {
      "op": "DUP2"
    },
    "2301": {
      "op": "DUP3"
    },
    "2302": {
      "op": "REVERT"
    },
    "2303": {
      "op": "JUMPDEST"
    },
    "2304": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2306": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2308": {
      "op": "DUP3"
    },
    "2309": {
      "op": "DUP5"
    },
    "2310": {
      "op": "SUB"
    },
    "2311": {
      "op": "SLT"
    },
    "2312": {
      "op": "ISZERO"
    },
    "2313": {
      "op": "PUSH2",
      "value": "0x910"
    },
    "2316": {
      "op": "JUMPI"
    },
    "2317": {
      "op": "DUP1"
    },
    "2318": {
      "op": "DUP2"
    },
    "2319": {
      "op": "REVERT"
    },
    "2320": {
      "op": "JUMPDEST"
    },
    "2321": {
      "op": "POP"
    },
    "2322": {
      "op": "CALLDATALOAD"
    },
    "2323": {
      "op": "SWAP2"
    },
    "2324": {
      "op": "SWAP1"
    },
    "2325": {
      "op": "POP"
    },
    "2326": {
      "jump": "o",
      "op": "JUMP"
    },
    "2327": {
      "op": "JUMPDEST"
    },
    "2328": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2330": {
      "op": "DUP1"
    },
    "2331": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2333": {
      "op": "DUP4"
    },
    "2334": {
      "op": "DUP6"
    },
    "2335": {
      "op": "SUB"
    },
    "2336": {
      "op": "SLT"
    },
    "2337": {
      "op": "ISZERO"
    },
    "2338": {
      "op": "PUSH2",
      "value": "0x929"
    },
    "2341": {
      "op": "JUMPI"
    },
    "2342": {
      "op": "DUP1"
    },
    "2343": {
      "op": "DUP2"
    },
    "2344": {
      "op": "REVERT"
    },
    "2345": {
      "op": "JUMPDEST"
    },
    "2346": {
      "op": "DUP3"
    },
    "2347": {
      "op": "CALLDATALOAD"
    },
    "2348": {
      "op": "SWAP2"
    },
    "2349": {
      "op": "POP"
    },
    "2350": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2352": {
      "op": "DUP4"
    },
    "2353": {
      "op": "ADD"
    },
    "2354": {
      "op": "CALLDATALOAD"
    },
    "2355": {
      "op": "DUP1"
    },
    "2356": {
      "op": "ISZERO"
    },
    "2357": {
      "op": "ISZERO"
    },
    "2358": {
      "op": "DUP2"
    },
    "2359": {
      "op": "EQ"
    },
    "2360": {
      "op": "PUSH2",
      "value": "0x93F"
    },
    "2363": {
      "op": "JUMPI"
    },
    "2364": {
      "op": "DUP2"
    },
    "2365": {
      "op": "DUP3"
    },
    "2366": {
      "op": "REVERT"
    },
    "2367": {
      "op": "JUMPDEST"
    },
    "2368": {
      "op": "DUP1"
    },
    "2369": {
      "op": "SWAP2"
    },
    "2370": {
      "op": "POP"
    },
    "2371": {
      "op": "POP"
    },
    "2372": {
      "op": "SWAP3"
    },
    "2373": {
      "op": "POP"
    },
    "2374": {
      "op": "SWAP3"
    },
    "2375": {
      "op": "SWAP1"
    },
    "2376": {
      "op": "POP"
    },
    "2377": {
      "jump": "o",
      "op": "JUMP"
    },
    "2378": {
      "op": "JUMPDEST"
    },
    "2379": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2381": {
      "op": "DUP1"
    },
    "2382": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2384": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2386": {
      "op": "DUP5"
    },
    "2387": {
      "op": "DUP7"
    },
    "2388": {
      "op": "SUB"
    },
    "2389": {
      "op": "SLT"
    },
    "2390": {
      "op": "ISZERO"
    },
    "2391": {
      "op": "PUSH2",
      "value": "0x95E"
    },
    "2394": {
      "op": "JUMPI"
    },
    "2395": {
      "op": "DUP1"
    },
    "2396": {
      "op": "DUP2"
    },
    "2397": {
      "op": "REVERT"
    },
    "2398": {
      "op": "JUMPDEST"
    },
    "2399": {
      "op": "DUP4"
    },
    "2400": {
      "op": "CALLDATALOAD"
    },
    "2401": {
      "op": "SWAP3"
    },
    "2402": {
      "op": "POP"
    },
    "2403": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2405": {
      "op": "DUP5"
    },
    "2406": {
      "op": "ADD"
    },
    "2407": {
      "op": "CALLDATALOAD"
    },
    "2408": {
      "op": "PUSH8",
      "value": "0xFFFFFFFFFFFFFFFF"
    },
    "2417": {
      "op": "DUP1"
    },
    "2418": {
      "op": "DUP3"
    },
    "2419": {
      "op": "GT"
    },
    "2420": {
      "op": "ISZERO"
    },
    "2421": {
      "op": "PUSH2",
      "value": "0x97C"
    },
    "2424": {
      "op": "JUMPI"
    },
    "2425": {
      "op": "DUP3"
    },
    "2426": {
      "op": "DUP4"
    },
    "2427": {
      "op": "REVERT"
    },
    "2428": {
      "op": "JUMPDEST"
    },
    "2429": {
      "op": "DUP2"
    },
    "2430": {
      "op": "DUP7"
    },
    "2431": {
      "op": "ADD"
    },
    "2432": {
      "op": "SWAP2"
    },
    "2433": {
      "op": "POP"
    },
    "2434": {
      "op": "DUP7"
    },
    "2435": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "2437": {
      "op": "DUP4"
    },
    "2438": {
      "op": "ADD"
    },
    "2439": {
      "op": "SLT"
    },
    "2440": {
      "op": "PUSH2",
      "value": "0x98F"
    },
    "2443": {
      "op": "JUMPI"
    },
    "2444": {
      "op": "DUP3"
    },
    "2445": {
      "op": "DUP4"
    },
    "2446": {
      "op": "REVERT"
    },
    "2447": {
      "op": "JUMPDEST"
    },
    "2448": {
      "op": "DUP2"
    },
    "2449": {
      "op": "CALLDATALOAD"
    },
    "2450": {
      "op": "DUP2"
    },
    "2451": {
      "op": "DUP2"
    },
    "2452": {
      "op": "GT"
    },
    "2453": {
      "op": "ISZERO"
    },
    "2454": {
      "op": "PUSH2",
      "value": "0x99D"
    },
    "2457": {
      "op": "JUMPI"
    },
    "2458": {
      "op": "DUP4"
    },
    "2459": {
      "op": "DUP5"
    },
    "2460": {
      "op": "REVERT"
    },
    "2461": {
      "op": "JUMPDEST"
    },
    "2462": {
      "op": "DUP8"
    },
    "2463": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2465": {
      "op": "DUP3"
    },
    "2466": {
      "op": "DUP6"
    },
    "2467": {
      "op": "ADD"
    },
    "2468": {
      "op": "ADD"
    },
    "2469": {
      "op": "GT"
    },
    "2470": {
      "op": "ISZERO"
    },
    "2471": {
      "op": "PUSH2",
      "value": "0x9AE"
    },
    "2474": {
      "op": "JUMPI"
    },
    "2475": {
      "op": "DUP4"
    },
    "2476": {
      "op": "DUP5"
    },
    "2477": {
      "op": "REVERT"
    },
    "2478": {
      "op": "JUMPDEST"
    },
    "2479": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2481": {
      "op": "DUP4"
    },
    "2482": {
      "op": "ADD"
    },
    "2483": {
      "op": "SWAP5"
    },
    "2484": {
      "op": "POP"
    },
    "2485": {
      "op": "DUP1"
    },
    "2486": {
      "op": "SWAP4"
    },
    "2487": {
      "op": "POP"
    },
    "2488": {
      "op": "POP"
    },
    "2489": {
      "op": "POP"
    },
    "2490": {
      "op": "POP"
    },
    "2491": {
      "op": "SWAP3"
    },
    "2492": {
      "op": "POP"
    },
    "2493": {
      "op": "SWAP3"
    },
    "2494": {
      "op": "POP"
    },
    "2495": {
      "op": "SWAP3"
    },
    "2496": {
      "jump": "o",
      "op": "JUMP"
    },
    "2497": {
      "op": "JUMPDEST"
    },
    "2498": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2500": {
      "op": "DUP2"
    },
    "2501": {
      "op": "ADD"
    },
    "2502": {
      "op": "PUSH1",
      "value": "0x7"
    },
    "2504": {
      "op": "DUP4"
    },
    "2505": {
      "op": "LT"
    },
    "2506": {
      "op": "PUSH2",
      "value": "0x9D5"
    },
    "2509": {
      "op": "JUMPI"
    },
    "2510": {
      "op": "PUSH2",
      "value": "0x9D5"
    },
    "2513": {
      "op": "PUSH2",
      "value": "0xAA1"
    },
    "2516": {
      "jump": "i",
      "op": "JUMP"
    },
    "2517": {
      "op": "JUMPDEST"
    },
    "2518": {
      "op": "SWAP2"
    },
    "2519": {
      "op": "SWAP1"
    },
    "2520": {
      "op": "MSTORE"
    },
    "2521": {
      "op": "SWAP1"
    },
    "2522": {
      "jump": "o",
      "op": "JUMP"
    },
    "2523": {
      "op": "JUMPDEST"
    },
    "2524": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2526": {
      "op": "DUP2"
    },
    "2527": {
      "op": "ADD"
    },
    "2528": {
      "op": "PUSH1",
      "value": "0x3"
    },
    "2530": {
      "op": "DUP4"
    },
    "2531": {
      "op": "LT"
    },
    "2532": {
      "op": "PUSH2",
      "value": "0x9D5"
    },
    "2535": {
      "op": "JUMPI"
    },
    "2536": {
      "op": "PUSH2",
      "value": "0x9D5"
    },
    "2539": {
      "op": "PUSH2",
      "value": "0xAA1"
    },
    "2542": {
      "jump": "i",
      "op": "JUMP"
    },
    "2543": {
      "op": "JUMPDEST"
    },
    "2544": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2546": {
      "op": "DUP1"
    },
    "2547": {
      "op": "DUP3"
    },
    "2548": {
      "op": "MSTORE"
    },
    "2549": {
      "op": "PUSH1",
      "value": "0x1B"
    },
    "2551": {
      "op": "SWAP1"
    },
    "2552": {
      "op": "DUP3"
    },
    "2553": {
      "op": "ADD"
    },
    "2554": {
      "op": "MSTORE"
    },
    "2555": {
      "op": "PUSH32",
      "value": "0x4552524F523A434D502D3030323A4E4F545F434F4D504F4E454E540000000000"
    },
    "2588": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2590": {
      "op": "DUP3"
    },
    "2591": {
      "op": "ADD"
    },
    "2592": {
      "op": "MSTORE"
    },
    "2593": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "2595": {
      "op": "ADD"
    },
    "2596": {
      "op": "SWAP1"
    },
    "2597": {
      "jump": "o",
      "op": "JUMP"
    },
    "2598": {
      "op": "JUMPDEST"
    },
    "2599": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2601": {
      "op": "DUP4"
    },
    "2602": {
      "op": "DUP3"
    },
    "2603": {
      "op": "MSTORE"
    },
    "2604": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2606": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2608": {
      "op": "DUP2"
    },
    "2609": {
      "op": "DUP5"
    },
    "2610": {
      "op": "ADD"
    },
    "2611": {
      "op": "MSTORE"
    },
    "2612": {
      "op": "DUP4"
    },
    "2613": {
      "op": "MLOAD"
    },
    "2614": {
      "op": "DUP1"
    },
    "2615": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2617": {
      "op": "DUP6"
    },
    "2618": {
      "op": "ADD"
    },
    "2619": {
      "op": "MSTORE"
    },
    "2620": {
      "op": "DUP3"
    },
    "2621": {
      "op": "JUMPDEST"
    },
    "2622": {
      "op": "DUP2"
    },
    "2623": {
      "op": "DUP2"
    },
    "2624": {
      "op": "LT"
    },
    "2625": {
      "op": "ISZERO"
    },
    "2626": {
      "op": "PUSH2",
      "value": "0xA59"
    },
    "2629": {
      "op": "JUMPI"
    },
    "2630": {
      "op": "DUP6"
    },
    "2631": {
      "op": "DUP2"
    },
    "2632": {
      "op": "ADD"
    },
    "2633": {
      "op": "DUP4"
    },
    "2634": {
      "op": "ADD"
    },
    "2635": {
      "op": "MLOAD"
    },
    "2636": {
      "op": "DUP6"
    },
    "2637": {
      "op": "DUP3"
    },
    "2638": {
      "op": "ADD"
    },
    "2639": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "2641": {
      "op": "ADD"
    },
    "2642": {
      "op": "MSTORE"
    },
    "2643": {
      "op": "DUP3"
    },
    "2644": {
      "op": "ADD"
    },
    "2645": {
      "op": "PUSH2",
      "value": "0xA3D"
    },
    "2648": {
      "op": "JUMP"
    },
    "2649": {
      "op": "JUMPDEST"
    },
    "2650": {
      "op": "DUP2"
    },
    "2651": {
      "op": "DUP2"
    },
    "2652": {
      "op": "GT"
    },
    "2653": {
      "op": "ISZERO"
    },
    "2654": {
      "op": "PUSH2",
      "value": "0xA6A"
    },
    "2657": {
      "op": "JUMPI"
    },
    "2658": {
      "op": "DUP4"
    },
    "2659": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "2661": {
      "op": "DUP4"
    },
    "2662": {
      "op": "DUP8"
    },
    "2663": {
      "op": "ADD"
    },
    "2664": {
      "op": "ADD"
    },
    "2665": {
      "op": "MSTORE"
    },
    "2666": {
      "op": "JUMPDEST"
    },
    "2667": {
      "op": "POP"
    },
    "2668": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "2670": {
      "op": "ADD"
    },
    "2671": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "2673": {
      "op": "NOT"
    },
    "2674": {
      "op": "AND"
    },
    "2675": {
      "op": "SWAP3"
    },
    "2676": {
      "op": "SWAP1"
    },
    "2677": {
      "op": "SWAP3"
    },
    "2678": {
      "op": "ADD"
    },
    "2679": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "2681": {
      "op": "ADD"
    },
    "2682": {
      "op": "SWAP5"
    },
    "2683": {
      "op": "SWAP4"
    },
    "2684": {
      "op": "POP"
    },
    "2685": {
      "op": "POP"
    },
    "2686": {
      "op": "POP"
    },
    "2687": {
      "op": "POP"
    },
    "2688": {
      "jump": "o",
      "op": "JUMP"
    },
    "2689": {
      "op": "JUMPDEST"
    },
    "2690": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2692": {
      "op": "DUP3"
    },
    "2693": {
      "op": "PUSH2",
      "value": "0xA9C"
    },
    "2696": {
      "op": "JUMPI"
    },
    "2697": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "2702": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "2704": {
      "op": "SHL"
    },
    "2705": {
      "op": "DUP2"
    },
    "2706": {
      "op": "MSTORE"
    },
    "2707": {
      "op": "PUSH1",
      "value": "0x12"
    },
    "2709": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "2711": {
      "op": "MSTORE"
    },
    "2712": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2714": {
      "op": "DUP2"
    },
    "2715": {
      "op": "REVERT"
    },
    "2716": {
      "op": "JUMPDEST"
    },
    "2717": {
      "op": "POP"
    },
    "2718": {
      "op": "MOD"
    },
    "2719": {
      "op": "SWAP1"
    },
    "2720": {
      "jump": "o",
      "op": "JUMP"
    },
    "2721": {
      "op": "JUMPDEST"
    },
    "2722": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "2727": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "2729": {
      "op": "SHL"
    },
    "2730": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2732": {
      "op": "MSTORE"
    },
    "2733": {
      "op": "PUSH1",
      "value": "0x21"
    },
    "2735": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "2737": {
      "op": "MSTORE"
    },
    "2738": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2740": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2742": {
      "op": "REVERT"
    },
    "2743": {
      "op": "JUMPDEST"
    },
    "2744": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2746": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2748": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2750": {
      "op": "SHL"
    },
    "2751": {
      "op": "SUB"
    },
    "2752": {
      "op": "DUP2"
    },
    "2753": {
      "op": "AND"
    },
    "2754": {
      "op": "DUP2"
    },
    "2755": {
      "op": "EQ"
    },
    "2756": {
      "op": "PUSH2",
      "value": "0x3C4"
    },
    "2759": {
      "op": "JUMPI"
    },
    "2760": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2762": {
      "op": "DUP1"
    },
    "2763": {
      "op": "REVERT"
    }
  },
  "sha1": "9cd3d67c8dc5dbe7ae3b4a1dd09b30144997b1db",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"@etherisc/gif-interface/contracts/components/Oracle.sol\";\n\ncontract TestOracle is Oracle {\n\n    constructor(\n        bytes32 oracleName,\n        address registry\n    )\n        Oracle(oracleName, registry)\n    { }\n\n    function request(uint256 requestId, bytes calldata input) external override onlyQuery {\n        // decode oracle input data\n        (uint256 counter, bool immediateResponse) = abi.decode(input, (uint256, bool));\n\n        if (immediateResponse) {\n            // obtain data from oracle given the request data (counter)\n            // for off chain oracles this happens outside the request\n            // call in a separate asynchronous transaction\n            bool isLossEvent = _oracleCalculation(counter);\n            respond(requestId, isLossEvent);\n        }\n    }\n\n    function cancel(uint256 requestId)\n        external override\n        onlyOwner\n    {\n        // TODO mid/low priority\n        // cancelChainlinkRequest(_requestId, _payment, _callbackFunctionId, _expiration);\n    }\n\n    // usually called by off-chain oracle (and not internally) \n    // in which case the function modifier should be changed \n    // to external\n    function respond(uint256 requestId, bool isLossEvent) \n        public\n    {\n        // encode data obtained from oracle\n        bytes memory output = abi.encode(bool(isLossEvent));\n\n        // trigger inherited response handling\n        _respond(requestId, output);\n    }\n\n    // dummy implementation\n    // \"real\" oracles will get the output from some off-chain\n    // component providing the outcome of the business logic\n    function _oracleCalculation(uint256 counter) internal returns (bool isLossEvent) {\n        isLossEvent = (counter % 2 == 1);\n    }    \n}",
  "sourceMap": "130:1661:95:-:0;;;167:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;254:10;266:8;254:10;580:20:34;266:8:95;936:32:4;719:10:22;936:18:4;:32::i;:::-;-1:-1:-1;;;;;1627:22:29;::::1;1619:70;;;::::0;-1:-1:-1;;;1619:70:29;;1917:2:103;1619:70:29::1;::::0;::::1;1899:21:103::0;1956:2;1936:18;;;1929:30;1995:34;1975:18;;;1968:62;-1:-1:-1;;;2046:18:103;;;2039:33;2089:19;;1619:70:29::1;;;;;;;;1702:9;:31:::0;;-1:-1:-1;;;;;;1702:31:29::1;;-1:-1:-1::0;;;;;1702:31:29;::::1;;;::::0;;1754:12:::1;:10;:12::i;:::-;1744:7;:22:::0;;-1:-1:-1;;;;;;1744:22:29::1;-1:-1:-1::0;;;;;1744:22:29;;;::::1;::::0;;;::::1;::::0;;1802:27:::1;:25;:27::i;:::-;1777:22;:52:::0;;-1:-1:-1;;;;;;1777:52:29::1;-1:-1:-1::0;;;;;1777:52:29;;;::::1;::::0;;;::::1;::::0;;1859:21:::1;:19;:21::i;:::-;1840:16;:40:::0;;-1:-1:-1;;;;;;1840:40:29::1;-1:-1:-1::0;;;;;1840:40:29;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;1893:21:29;;;1925:14:::1;:30:::0;;1942:13;;-1:-1:-1;;1925:30:29;;::::1;::::0;1942:13;1925:30:::1;::::0;::::1;;;;-1:-1:-1::0;;;1925:30:29::1;;;;;;;;;;;::::0;;-1:-1:-1;2007:14:29::1;::::0;2037::::1;::::0;1973:142:::1;::::0;::::1;::::0;::::1;::::0;2007:14;;2037::::1;::::0;::::1;::::0;2075:4:::1;::::0;2037:14:::1;2104:9:::0;;::::1;-1:-1:-1::0;;;;;2104:9:29::1;::::0;1973:142:::1;:::i;:::-;;;;;;;;1466:657:::0;;;660:36:34::1;-1:-1:-1::0;;;660:19:34::1;;;:36;;:::i;:::-;628:14;:69:::0;;-1:-1:-1;;;;;;628:69:34::1;-1:-1:-1::0;;;;;628:69:34;;;::::1;::::0;;;::::1;::::0;;713:31:::1;::::0;738:4:::1;849:51:103::0;;713:31:34::1;::::0;837:2:103;822:18;713:31:34::1;;;;;;;486:266:::0;;167:116:95;;130:1661;;2433:187:4;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:4;;;-1:-1:-1;;;;;;2541:17:4;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2433:187;;:::o;4377:126:29:-;4422:7;4457:29;-1:-1:-1;;;4457:19:29;:29::i;:::-;4442:45;;4377:126;:::o;4681:186::-;4741:22;4806:44;;:19;:44::i;4511:162::-;4565:16;4618:38;-1:-1:-1;;;4875:145:29;4977:9;;:35;;-1:-1:-1;;;4977:35:29;;;;;1057:25:103;;;4949:7:29;;4977:9;;;-1:-1:-1;;;;;4977:9:29;;:21;;1030:18:103;;4977:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4970:42;;4875:145;;;;:::o;14:177:103:-;93:13;;-1:-1:-1;;;;;135:31:103;;125:42;;115:2;;181:1;178;171:12;196:218;;319:2;307:9;298:7;294:23;290:32;287:2;;;340:6;332;325:22;287:2;368:40;398:9;368:40;:::i;:::-;358:50;277:137;-1:-1:-1;;;277:137:103:o;419:279::-;;;559:2;547:9;538:7;534:23;530:32;527:2;;;580:6;572;565:22;527:2;614:9;608:16;598:26;;643:49;688:2;677:9;673:18;643:49;:::i;:::-;633:59;;517:181;;;;;:::o;1093:617::-;1341:25;;;1328:3;1313:19;;1396:1;1385:13;;1375:2;;1441:10;1436:3;1432:20;1429:1;1422:31;1476:4;1473:1;1466:15;1504:4;1501:1;1494:15;1375:2;1550;1535:18;;1528:34;;;;-1:-1:-1;;;;;1636:15:103;;;1631:2;1616:18;;1609:43;1688:15;;1683:2;1668:18;;;1661:43;1295:415;;-1:-1:-1;1295:415:103:o;1889:225::-;130:1661:95;;;;;;",
  "sourcePath": "contracts/test/TestOracle.sol",
  "type": "contract"
}