{
  "contractName": "ForkonomicETTF",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        },
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "fundHoldingChange",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "fromAddr",
          "type": "address"
        },
        {
          "name": "toAddr",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        },
        {
          "name": "toBox",
          "type": "bytes32"
        }
      ],
      "name": "boxTransferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "addrTo",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        }
      ],
      "name": "boxTransferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "name": "remaining",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "box",
          "type": "bytes32"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        },
        {
          "name": "earliestPossibleBranch",
          "type": "bytes32"
        }
      ],
      "name": "recordedBoxWithdrawalAmount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "from",
          "type": "address"
        },
        {
          "name": "to",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minTimeout",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "realityCheck",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "acct",
          "type": "bytes32"
        },
        {
          "name": "minBalance",
          "type": "uint256"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        }
      ],
      "name": "_isAmountSpendable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        },
        {
          "name": "toBox",
          "type": "bytes32"
        }
      ],
      "name": "boxTransfer",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "fETTFbalanceChange",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "templateId",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_amount",
          "type": "uint256"
        },
        {
          "name": "_branch",
          "type": "bytes32"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minBond",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "minBalance",
          "type": "uint256"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        }
      ],
      "name": "isAmountSpendable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        },
        {
          "name": "",
          "type": "bytes32"
        },
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "allowed",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "box",
          "type": "bytes32"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "recordBoxWithdrawal",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "senderBox",
          "type": "bytes32"
        },
        {
          "name": "receiverBox",
          "type": "bytes32"
        }
      ],
      "name": "allowanceBox",
      "outputs": [
        {
          "name": "remaining",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "openingTs",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "box",
          "type": "bytes32"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        },
        {
          "name": "earliestPossibleBranch",
          "type": "bytes32"
        }
      ],
      "name": "hasBoxWithdrawal",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "minBalance",
          "type": "uint256"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        },
        {
          "name": "box",
          "type": "bytes32"
        }
      ],
      "name": "isAmountSpendableBox",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_amount",
          "type": "uint256"
        },
        {
          "name": "_branch",
          "type": "bytes32"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        },
        {
          "name": "spenderBox",
          "type": "bytes32"
        }
      ],
      "name": "approveBox",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "fSystem",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "lastDebitWindows",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "acct",
          "type": "bytes32"
        }
      ],
      "name": "balanceOfBox",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minQuestionFunding",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "realityCheck_",
          "type": "address"
        },
        {
          "name": "fSystem_",
          "type": "address"
        },
        {
          "name": "funding",
          "type": "address[]"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "branch",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "forkonomicToken",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "balanceChange_",
          "type": "int256"
        },
        {
          "indexed": false,
          "name": "compensation",
          "type": "int256"
        },
        {
          "indexed": false,
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "NewDealProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "ownerBox",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_spender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "spenderBox",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "fromBox",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "toBox",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "forkonomicToken",
          "type": "address"
        },
        {
          "name": "balanceChange",
          "type": "int256"
        },
        {
          "name": "compensation",
          "type": "int256"
        },
        {
          "name": "arbitrator",
          "type": "address"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        }
      ],
      "name": "proposeInvestment",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "questionId",
          "type": "bytes32"
        },
        {
          "name": "executionbranch",
          "type": "bytes32"
        },
        {
          "name": "originalbranch",
          "type": "bytes32"
        },
        {
          "name": "forkonomicToken",
          "type": "address"
        },
        {
          "name": "balanceChange_",
          "type": "int256"
        },
        {
          "name": "compensation",
          "type": "int256"
        },
        {
          "name": "arbitrator",
          "type": "address"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        }
      ],
      "name": "executeInvestmentRequest",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "forkonomicTokens",
          "type": "address[]"
        }
      ],
      "name": "redeemRealityFundTokens",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "data",
          "type": "bytes32"
        }
      ],
      "name": "bytes32ToString",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "forkonomicToken",
          "type": "address"
        },
        {
          "name": "balanceChange",
          "type": "int256"
        },
        {
          "name": "compensation",
          "type": "int256"
        }
      ],
      "name": "calcDealBytes",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052600060095564012a05f200600a55600b805463ffffffff19166103e81790556611c37937e08000600c553480156200003b57600080fd5b50604051620034cb380380620034cb83398101604081815282516020808501518386015160058054600160a060020a031916600160a060020a0380851691909117918290557f176b6f0100000000000000000000000000000000000000000000000000000000885295519497929691909201948694869460009485948594859492169263176b6f019260048084019382900301818787803b158015620000e057600080fd5b505af1158015620000f5573d6000803e3d6000fd5b505050506040513d60208110156200010c57600080fd5b505185519094509250600c83106200018557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f20746f6f206d616e792066756e64696e67206163636f756e7473000000000000604482015290519081900360640190fd5b600091505b8282101562000295578482815181101515620001a257fe5b9060200190602002015160006040516020018083600160a060020a0316600160a060020a03166c010000000000000000000000000281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106200022e5780518252601f1990920191602091820191016200020d565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a8152808352848120828252909252929020805465befe6f672000908101909155600480549091019055506001949094019392506200018a915050565b505060068054600160a060020a03909816600160a060020a0319909816979097179096555050505050506131fc80620002cf6000396000f3006080604052600436106101b35763ffffffff60e060020a60003504166306d1643b81146101b857806306fdde03146101ee57806317d287e01461027857806318160ddd146102bf5780631b6672d2146102d45780631c8d5d38146103045780631db3db1c1461032e5780631f07c4971461038e578063313ce567146103b857806338487803146103e3578063401e33671461040d57806343ae90fe1461043a5780634cf71be4146104625780634d30b6be1461049057806350990880146104b457806357cfeeee146104e55780635d59d45c1461050c57806366422c47146105475780636dd265a514610565578063745e94f6146105925780637aa77f29146105aa5780638180f2fc146105bf578063831518b7146105e6578063911651ac146105fb5780639201de551461062257806395d89b411461063a578063990861831461064f578063a53171a41461066d578063c34719791461068b578063c7049657146106bb578063cf54a3d3146106d0578063d0c91487146106fa578063d1fe531314610724578063d440796e14610751578063e10db51114610766578063f2482e2b1461077e578063f2c2b14e146107a5575b600080fd5b3480156101c457600080fd5b506101dc600435600160a060020a03602435166107ba565b60408051918252519081900360200190f35b3480156101fa57600080fd5b506102036107d7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023d578181015183820152602001610225565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028457600080fd5b506102ab600160a060020a036004358116906024351660443560643560843560a43561080e565b604080519115158252519081900360200190f35b3480156102cb57600080fd5b506101dc610d9f565b3480156102e057600080fd5b506102ab600160a060020a0360043581169060243516604435606435608435610da5565b34801561031057600080fd5b506101dc600160a060020a0360043581169060243516604435610dc0565b34801561033a57600080fd5b50604080516020600460443581810135838102808601850190965280855261038c958335956024803596369695606495939492019291829185019084908082843750949750610dd89650505050505050565b005b34801561039a57600080fd5b506101dc600435600160a060020a0360243516604435606435611187565b3480156103c457600080fd5b506103cd61123e565b6040805160ff9092168252519081900360200190f35b3480156103ef57600080fd5b506101dc600160a060020a0360043516602435604435606435611243565b34801561041957600080fd5b506102ab600160a060020a03600435811690602435166044356064356113a1565b6101dc600435600160a060020a0360243581169060443590606435906084351660a4356113bb565b34801561046e57600080fd5b50610477611846565b6040805163ffffffff9092168252519081900360200190f35b34801561049c57600080fd5b506101dc600160a060020a0360043516602435611852565b3480156104c057600080fd5b506104c9611867565b60408051600160a060020a039092168252519081900360200190f35b3480156104f157600080fd5b506102ab600160a060020a0360043516602435604435611876565b34801561051857600080fd5b5061038c600435602435604435600160a060020a036064358116906084359060a4359060c4351660e435611886565b34801561055357600080fd5b506102ab600435602435604435612217565b34801561057157600080fd5b506102ab600160a060020a0360043516602435604435606435608435612342565b34801561059e57600080fd5b506101dc600435612801565b3480156105b657600080fd5b506101dc612813565b3480156105cb57600080fd5b506102ab600160a060020a0360043516602435604435612819565b3480156105f257600080fd5b506101dc612829565b34801561060757600080fd5b506102ab600160a060020a036004351660243560443561282f565b34801561062e57600080fd5b506102036004356128d0565b34801561064657600080fd5b5061020361298e565b34801561065b57600080fd5b506101dc6004356024356044356129c5565b34801561067957600080fd5b506102ab6004356024356044356129e8565b34801561069757600080fd5b506101dc600160a060020a0360043581169060243516604435606435608435612b42565b3480156106c757600080fd5b50610477612ca8565b3480156106dc57600080fd5b506102ab600160a060020a0360043516602435604435606435612cbc565b34801561070657600080fd5b506102ab600160a060020a0360043516602435604435606435612e23565b34801561073057600080fd5b506102ab600160a060020a0360043516602435604435606435608435612ec3565b34801561075d57600080fd5b506104c961305a565b34801561077257600080fd5b506101dc600435613069565b34801561078a57600080fd5b506101dc600160a060020a036004351660243560443561307b565b3480156107b157600080fd5b506101dc6131b8565b600760209081526000928352604080842090915290825290205481565b60408051808201909152600f81527f466f726b6f6e6f6d696373455454460000000000000000000000000000000000602082015281565b60008060008060008a876040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061088d5780518252601f19909201916020918201910161086e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935089866040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106109335780518252601f199092019160209182019101610914565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018e90528551808503909101815260549093019485905282519099509195509293508392850191508083835b602083106109b45780518252601f199092019160209182019101610995565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a81526003835284812082825283528481208f825290925292902054919550508b11159150610a0e905057600080fd5b600554604080517f6ceccf73000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691636ceccf73916024808201926020929091908290030181600087803b158015610a7557600080fd5b505af1158015610a89573d6000803e3d6000fd5b505050506040513d6020811015610a9f57600080fd5b50519050660775f05a074000891115610b02576040805160e560020a62461bcd02815260206004820152601f60248201527f20616d6f756e7420686967686572207468616e20746f74616c537570706c7900604482015290519081900360640190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b158015610b6957600080fd5b505af1158015610b7d573d6000803e3d6000fd5b505050506040513d6020811015610b9357600080fd5b50511515610beb576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b600084815260026020526040902054811015610c51576040805160e560020a62461bcd02815260206004820152601860248201527f6465626974732063616e7420676f206261636b77617264730000000000000000604482015290519081900360640190fd5b610c5c848a8a612217565b1515610cb2576040805160e560020a62461bcd02815260206004820152601860248201527f616d6f756e74206d757374206265207370656e6461626c650000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083208490558a8352828252808320878452825280832080548d9003905585835280832080548d0190558683526003825280832085845282528083208b8452909152902054610d0f908a6131be565b600085815260036020908152604080832086845282528083208c84528252808320939093558251600160a060020a038e8116825291810183905280840192909252606082018c9052608082018b90529151918d16917f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9181900360a00190a25060019a9950505050505050505050565b60045481565b6000610db68686868686600061080e565b9695505050505050565b6000610dd0848484600080612b42565b949350505050565b600080600080610dea3330888a6113a1565b1515610e66576040805160e560020a62461bcd02815260206004820152603060248201527f7472616e7366657220646964206e6f74207061737320696e2072656465656d5260448201527f65616c69747946756e64546f6b656e7300000000000000000000000000000000606482015290519081900360840190fd5b600093508692505b600560009054906101000a9004600160a060020a0316600160a060020a031663176b6f016040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ec157600080fd5b505af1158015610ed5573d6000803e3d6000fd5b505050506040513d6020811015610eeb57600080fd5b50518314610f8a57600083815260086020908152604080832054600554825160e060020a63f36b43cb0281526004810189905292519890910197600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610f5757600080fd5b505af1158015610f6b573d6000803e3d6000fd5b505050506040513d6020811015610f8157600080fd5b50519250610e6e565b600091505b845182101561117e578482815181101515610fa657fe5b6020908102909101810151604080517f4d30b6be000000000000000000000000000000000000000000000000000000008152306004820152602481018b90529051600160a060020a0390921692634d30b6be926044808401938290030181600087803b15801561101557600080fd5b505af1158015611029573d6000803e3d6000fd5b505050506040513d602081101561103f57600080fd5b5051855190915085908390811061105257fe5b90602001906020020151600160a060020a03166357cfeeee3386848a0281151561107857fe5b6040805160e060020a63ffffffff8716028152600160a060020a0390941660048501529190046024830152604482018b90525160648083019260209291908290030181600087803b1580156110cc57600080fd5b505af11580156110e0573d6000803e3d6000fd5b505050506040513d60208110156110f657600080fd5b50511515611173576040805160e560020a62461bcd028152602060048201526024808201527f7472616e73666572206f662066756e647320776173206e6f742073756363657360448201527f7366756c00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600190910190610f8f565b50505050505050565b604080516020808201879052606060020a600160a060020a0387168102838501526054830186905260748301859052330260948301528251608881840301815260a8909201928390528151600093849392909182918401908083835b602083106112025780518252601f1990920191602091820191016111e3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090508091505b50949350505050565b601281565b60408051606060020a600160a060020a03871602602080830191909152603480830187905283518084039091018152605490920192839052815160009384938493909282918401908083835b602083106112ae5780518252601f19909201916020918201910161128f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600090505b84158015906112f15750848414155b15611395576000858152600160209081526040808320858452825280832054600554825160e060020a63f36b43cb028152600481018b905292519590910194600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b15801561136257600080fd5b505af1158015611376573d6000803e3d6000fd5b505050506040513d602081101561138c57600080fd5b505194506112e2565b841515610db657600080fd5b60006113b28585858560008061080e565b95945050505050565b600b805467ffffffff0000000019166401000000004262278d000163ffffffff1602179055604080516020808201899052600160a060020a038816606060020a908102838501526054830188905260748301879052330260948301528251808303608801815260a89092019283905281516000938493606093859391929182918401908083835b602083106114615780518252601f199092019160209182019101611442565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250611499836128d0565b60405160200180807f46726f6d20616c6c206f666665727320666f72207468652066455454462c207481526020017f686520666f6c6c6f77696e67206465616c207761732074686520626573743a00815250603f0182805190602001908083835b602083106115195780518252601f1990920191602091820191016114fa565b6001836020036101000a038019825116818451168082178552505050505050905001807f3f000000000000000000000000000000000000000000000000000000000000008152506001019150506040516020818303038152906040529150600660009054906101000a9004600160a060020a0316600160a060020a031663762c38fd65048c27395000600954858a600b60009054906101000a900463ffffffff16600b60049054906101000a900463ffffffff1660006040518863ffffffff1660e060020a028152600401808781526020018060200186600160a060020a0316600160a060020a031681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff168152602001838152602001828103825287818151815260200191508051906020019080838360005b8381101561166657818101518382015260200161164e565b50505050905090810190601f1680156116935780820380516001836020036101000a031916815260200191505b509750505050505050506020604051808303818588803b1580156116b657600080fd5b505af11580156116ca573d6000803e3d6000fd5b50505050506040513d60208110156116e157600080fd5b5051905060008813156117ba57600087126116fb57600080fd5b604080517f17d287e0000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018a9052606481018c90526084810187905260a481018590529051600160a060020a038b16916317d287e09160c48083019260209291908290030181600087803b15801561177e57600080fd5b505af1158015611792573d6000803e3d6000fd5b505050506040513d60208110156117a857600080fd5b505115156117b557600080fd5b6117d5565b600087136117c757600080fd5b6117d33330898d6113a1565b505b600c543410156117e457600080fd5b604080518b8152600160a060020a038b1660208201528082018a90526060810189905233608082015290517fb5314ced9a7db33e50e16bfc3b75ec0c80852fc201d0423cd178d16f0cb5033d9181900360a00190a19998505050505050505050565b600b5463ffffffff1681565b60006118608383600061307b565b9392505050565b600654600160a060020a031681565b6000610dd0848484600080612342565b600554604080517f406edd3600000000000000000000000000000000000000000000000000000000815260048101899052602481018a9052905160009260609284928392600160a060020a03169163406edd3691604480830192602092919082900301818787803b1580156118fa57600080fd5b505af115801561190e573d6000803e3d6000fd5b505050506040513d602081101561192457600080fd5b505115156119a2576040805160e560020a62461bcd02815260206004820152602960248201527f206272616e6368206973206e6f742061206368696c64206f66206f726967696e60448201527f616c206272616e63680000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f49469146000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018f90529151919092169163494691469160448083019260209291908290030181600087803b158015611a1157600080fd5b505af1158015611a25573d6000803e3d6000fd5b505050506040513d6020811015611a3b57600080fd5b50511515611a93576040805160e560020a62461bcd02815260206004820152601e60248201527f61726269747261746f72206973206e6f742077686974652d6c69737465640000604482015290519081900360640190fd5b600560009054906101000a9004600160a060020a0316600160a060020a0316632667404b600660009054906101000a9004600160a060020a0316600160a060020a031663acae8f4e8f6040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611b1d57600080fd5b505af1158015611b31573d6000803e3d6000fd5b505050506040513d6020811015611b4757600080fd5b50516040805163ffffffff84811660e060020a0282529092166004830152602482018f90525160448083019260209291908290030181600087803b158015611b8e57600080fd5b505af1158015611ba2573d6000803e3d6000fd5b505050506040513d6020811015611bb857600080fd5b50511515611c10576040805160e560020a62461bcd02815260206004820152601d60248201527f77696e646f77202b2074696d6520206973206e6f7420636f7272656374000000604482015290519081900360640190fd5b6040805160208082018d9052606060020a600160a060020a038d16810283850152605483018c9052607483018b9052330260948301528251608881840301815260a890920192839052815191929182918401908083835b60208310611c865780518252601f199092019160209182019101611c67565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350611cbe846128d0565b60405160200180807f46726f6d20616c6c206f666665727320666f72207468652066455454462c207481526020017f686520666f6c6c6f77696e67206465616c207761732074686520626573743a00815250603f0182805190602001908083835b60208310611d3e5780518252601f199092019160209182019101611d1f565b51815160209384036101000a60001901801990921691161790527f3f000000000000000000000000000000000000000000000000000000000000009190930190815260408051808303601e1901815260018301909152600954600b546021840182815264010000000090910463ffffffff1660e060020a810260418601528351939b5091975090955089949093506045909201918401908083835b60208310611df85780518252601f199092019160209182019101611dd9565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b60208310611e5d5780518252601f199092019160209182019101611e3e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600660009054906101000a9004600160a060020a0316600160a060020a03166312a203c38d8489600b60009054906101000a900463ffffffff16600a546040518663ffffffff1660e060020a028152600401808660001916600019168152602001856000191660001916815260200184600160a060020a0316600160a060020a031681526020018363ffffffff1663ffffffff16815260200182815260200195505050505050602060405180830381600087803b158015611f4c57600080fd5b505af1158015611f60573d6000803e3d6000fd5b505050506040513d6020811015611f7657600080fd5b5051905080151561205e57600088131561204357604080517f6dd265a5000000000000000000000000000000000000000000000000000000008152336004820152602481018a9052604481018d905260648101869052608481018790529051600160a060020a038b1691636dd265a59160a48083019260209291908290030181600087803b15801561200757600080fd5b505af115801561201b573d6000803e3d6000fd5b505050506040513d602081101561203157600080fd5b5051151561203e57600080fd5b612059565b61204e33888d611876565b151561205957600080fd5b612209565b600088131561214e576120743360008d8d612cbc565b1561207e57600080fd5b60008b8152602081815260408083208151606060020a33028185015260348082018690528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106120e85780518252601f1990920191602091820191016120c9565b51815160001960209485036101000a019081169019919091161790526040805194909201849003909320865285830196909652509284016000908120805490960190955550508d835260089052812080548901905561214890888d6129e8565b50612209565b604080517f57cfeeee000000000000000000000000000000000000000000000000000000008152336004820152602481018a9052604481018d90529051600160a060020a038b16916357cfeeee9160648083019260209291908290030181600087803b1580156121bd57600080fd5b505af11580156121d1573d6000803e3d6000fd5b505050506040513d60208110156121e757600080fd5b505115156121f457600080fd5b60008b81526008602052604090208054880190555b505050505050505050505050565b60008080660775f05a07400085111561227a576040805160e560020a62461bcd02815260206004820152601e60248201527f616d6f756e7420626967676572207468616e20746f74616c537570706c790000604482015290519081900360640190fd5b5060009050835b831561233457600084815260208181526040808320898452825280832054600554825160e060020a63f36b43cb028152600481018a905292519690910195600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b1580156122f157600080fd5b505af1158015612305573d6000803e3d6000fd5b505050506040513d602081101561231b57600080fd5b5051935080821261232f5760019250612339565b612281565b600092505b50509392505050565b600554604080517f6ceccf7300000000000000000000000000000000000000000000000000000000815260048101869052905160009283928392600160a060020a0390921691636ceccf739160248082019260209290919082900301818787803b1580156123af57600080fd5b505af11580156123c3573d6000803e3d6000fd5b505050506040513d60208110156123d957600080fd5b50519150660775f05a074000871115612462576040805160e560020a62461bcd02815260206004820152602760248201527f2073656e64696e6720616d6f756e7420626967676572207468616e20746f746160448201527f6c537570706c7900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b1580156124c957600080fd5b505af11580156124dd573d6000803e3d6000fd5b505050506040513d60208110156124f357600080fd5b5051151561254b576040805160e560020a62461bcd02815260206004820152601260248201527f206272616e6368206d7573742065786973740000000000000000000000000000604482015290519081900360640190fd5b60408051606060020a3302602080830191909152603480830189905283518084039091018152605490920192839052815191929182918401908083835b602083106125a75780518252601f199092019160209182019101612588565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526002909252929020549194505084101591506126629050576040805160e560020a62461bcd02815260206004820152602a60248201527f206272616e636857696e646f77203e3d206c617374446562697457696e646f7760448201527f735b6163636f756e745d00000000000000000000000000000000000000000000606482015290519081900360840190fd5b61266d818888612217565b15156126c3576040805160e560020a62461bcd02815260206004820152601960248201527f20616d6f756e7420776173206e6f74207370656e6461626c6500000000000000604482015290519081900360640190fd5b600081815260026020908152604080832085905588835282825280832084845280835281842080548c900390558984528383528151606060020a600160a060020a038e16028185015260348082018a90528351808303909101815260549091019283905280518c959294929391928291908401908083835b6020831061275a5780518252601f19909201916020918201910161273b565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805495909501909455508051338152918201889052818101879052606082018a90526080820189905251600160a060020a038b1692507f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9160a0908290030190a2506001979650505050505050565b60086020526000908152604090205481565b60095481565b6000610dd0848484600080612ec3565b600a5481565b60408051606060020a600160a060020a03861602602080830191909152600060348084018290528451808503909101815260549093019384905282519093610dd09392909182918401908083835b6020831061289c5780518252601f19909201916020918201910161287d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208484612217565b604080516020808252818301909252606091829160009182919080820161040080388339019050509250600091505b602082101561298557506008810260020a84027fff0000000000000000000000000000000000000000000000000000000000000081161561297a5780838381518110151561294957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b6001909101906128ff565b50909392505050565b60408051808201909152600581527f4645545446000000000000000000000000000000000000000000000000000000602082015281565b600360209081526000938452604080852082529284528284209052825290205481565b600554604080517f0236b8170000000000000000000000000000000000000000000000000000000081526004810184905290516000928392600160a060020a0390911691630236b8179160248082019260209290919082900301818787803b158015612a5357600080fd5b505af1158015612a67573d6000803e3d6000fd5b505050506040513d6020811015612a7d57600080fd5b505111612a8957600080fd5b60008281526001602090815260408083208151606060020a33028185015260348082018a905283518083039091018152605490910192839052805188959294929391928291908401908083835b60208310612af55780518252601f199092019160209182019101612ad6565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000208054949094019093555060019695505050505050565b60408051606060020a600160a060020a03871602602080830191909152603480830186905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310612bad5780518252601f199092019160209182019101612b8e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915087846040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310612c535780518252601f199092019160209182019101612c34565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000908152600382528381209781529681528287209a875299909952909320549998505050505050505050565b600b54640100000000900463ffffffff1681565b60408051606060020a600160a060020a038716026020808301919091526034808301879052835180840390910181526054909201928390528151600093849392909182918401908083835b60208310612d265780518252601f199092019160209182019101612d07565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b8315801590612d655750838314155b15612e175760008481526001602090815260408083208484529091528120541315612d935760019150611235565b6005546040805160e060020a63f36b43cb028152600481018790529051600160a060020a039092169163f36b43cb916024808201926020929091908290030181600087803b158015612de457600080fd5b505af1158015612df8573d6000803e3d6000fd5b505050506040513d6020811015612e0e57600080fd5b50519350612d56565b50600095945050505050565b60408051606060020a600160a060020a0387160260208083019190915260348083018590528351808403909101815260549092019283905281516000936113b29392909182918401908083835b60208310612e8f5780518252601f199092019160209182019101612e70565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208585612217565b60408051606060020a600160a060020a03881602602080830191909152603480830185905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310612f2e5780518252601f199092019160209182019101612f0f565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018d90528551808503909101815260549093019485905282519098509195509293508392850191508083835b60208310612faf5780518252601f199092019160209182019101612f90565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206000818152600383528381208a825283528381208e825283528390208e90558b85529084018a90528382018d9052606084018c90529051909550600160a060020a038d1694503393507f3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186928190036080019150a3506001979650505050505050565b600554600160a060020a031681565b60026020526000908152604090205481565b6000805b8315610dd0576000848152602081815260408083208151606060020a600160a060020a038b160281850152603480820189905283518083039091018152605490910192839052805191949390929182918401908083835b602083106130f55780518252601f1990920191602091820191016130d6565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812054600554855160e060020a63f36b43cb028152600481018c905295519790910196600160a060020a039091169563f36b43cb95602480820196509194509192918390030190829087803b15801561318557600080fd5b505af1158015613199573d6000803e3d6000fd5b505050506040513d60208110156131af57600080fd5b5051935061307f565b600c5481565b6000828211156131ca57fe5b509003905600a165627a7a723058208e381152ead95436255b14275b9ac5d80a2cc1104590da56669336980aa7f7490029",
  "deployedBytecode": "0x6080604052600436106101b35763ffffffff60e060020a60003504166306d1643b81146101b857806306fdde03146101ee57806317d287e01461027857806318160ddd146102bf5780631b6672d2146102d45780631c8d5d38146103045780631db3db1c1461032e5780631f07c4971461038e578063313ce567146103b857806338487803146103e3578063401e33671461040d57806343ae90fe1461043a5780634cf71be4146104625780634d30b6be1461049057806350990880146104b457806357cfeeee146104e55780635d59d45c1461050c57806366422c47146105475780636dd265a514610565578063745e94f6146105925780637aa77f29146105aa5780638180f2fc146105bf578063831518b7146105e6578063911651ac146105fb5780639201de551461062257806395d89b411461063a578063990861831461064f578063a53171a41461066d578063c34719791461068b578063c7049657146106bb578063cf54a3d3146106d0578063d0c91487146106fa578063d1fe531314610724578063d440796e14610751578063e10db51114610766578063f2482e2b1461077e578063f2c2b14e146107a5575b600080fd5b3480156101c457600080fd5b506101dc600435600160a060020a03602435166107ba565b60408051918252519081900360200190f35b3480156101fa57600080fd5b506102036107d7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023d578181015183820152602001610225565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028457600080fd5b506102ab600160a060020a036004358116906024351660443560643560843560a43561080e565b604080519115158252519081900360200190f35b3480156102cb57600080fd5b506101dc610d9f565b3480156102e057600080fd5b506102ab600160a060020a0360043581169060243516604435606435608435610da5565b34801561031057600080fd5b506101dc600160a060020a0360043581169060243516604435610dc0565b34801561033a57600080fd5b50604080516020600460443581810135838102808601850190965280855261038c958335956024803596369695606495939492019291829185019084908082843750949750610dd89650505050505050565b005b34801561039a57600080fd5b506101dc600435600160a060020a0360243516604435606435611187565b3480156103c457600080fd5b506103cd61123e565b6040805160ff9092168252519081900360200190f35b3480156103ef57600080fd5b506101dc600160a060020a0360043516602435604435606435611243565b34801561041957600080fd5b506102ab600160a060020a03600435811690602435166044356064356113a1565b6101dc600435600160a060020a0360243581169060443590606435906084351660a4356113bb565b34801561046e57600080fd5b50610477611846565b6040805163ffffffff9092168252519081900360200190f35b34801561049c57600080fd5b506101dc600160a060020a0360043516602435611852565b3480156104c057600080fd5b506104c9611867565b60408051600160a060020a039092168252519081900360200190f35b3480156104f157600080fd5b506102ab600160a060020a0360043516602435604435611876565b34801561051857600080fd5b5061038c600435602435604435600160a060020a036064358116906084359060a4359060c4351660e435611886565b34801561055357600080fd5b506102ab600435602435604435612217565b34801561057157600080fd5b506102ab600160a060020a0360043516602435604435606435608435612342565b34801561059e57600080fd5b506101dc600435612801565b3480156105b657600080fd5b506101dc612813565b3480156105cb57600080fd5b506102ab600160a060020a0360043516602435604435612819565b3480156105f257600080fd5b506101dc612829565b34801561060757600080fd5b506102ab600160a060020a036004351660243560443561282f565b34801561062e57600080fd5b506102036004356128d0565b34801561064657600080fd5b5061020361298e565b34801561065b57600080fd5b506101dc6004356024356044356129c5565b34801561067957600080fd5b506102ab6004356024356044356129e8565b34801561069757600080fd5b506101dc600160a060020a0360043581169060243516604435606435608435612b42565b3480156106c757600080fd5b50610477612ca8565b3480156106dc57600080fd5b506102ab600160a060020a0360043516602435604435606435612cbc565b34801561070657600080fd5b506102ab600160a060020a0360043516602435604435606435612e23565b34801561073057600080fd5b506102ab600160a060020a0360043516602435604435606435608435612ec3565b34801561075d57600080fd5b506104c961305a565b34801561077257600080fd5b506101dc600435613069565b34801561078a57600080fd5b506101dc600160a060020a036004351660243560443561307b565b3480156107b157600080fd5b506101dc6131b8565b600760209081526000928352604080842090915290825290205481565b60408051808201909152600f81527f466f726b6f6e6f6d696373455454460000000000000000000000000000000000602082015281565b60008060008060008a876040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061088d5780518252601f19909201916020918201910161086e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935089866040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106109335780518252601f199092019160209182019101610914565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018e90528551808503909101815260549093019485905282519099509195509293508392850191508083835b602083106109b45780518252601f199092019160209182019101610995565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a81526003835284812082825283528481208f825290925292902054919550508b11159150610a0e905057600080fd5b600554604080517f6ceccf73000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691636ceccf73916024808201926020929091908290030181600087803b158015610a7557600080fd5b505af1158015610a89573d6000803e3d6000fd5b505050506040513d6020811015610a9f57600080fd5b50519050660775f05a074000891115610b02576040805160e560020a62461bcd02815260206004820152601f60248201527f20616d6f756e7420686967686572207468616e20746f74616c537570706c7900604482015290519081900360640190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b158015610b6957600080fd5b505af1158015610b7d573d6000803e3d6000fd5b505050506040513d6020811015610b9357600080fd5b50511515610beb576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b600084815260026020526040902054811015610c51576040805160e560020a62461bcd02815260206004820152601860248201527f6465626974732063616e7420676f206261636b77617264730000000000000000604482015290519081900360640190fd5b610c5c848a8a612217565b1515610cb2576040805160e560020a62461bcd02815260206004820152601860248201527f616d6f756e74206d757374206265207370656e6461626c650000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083208490558a8352828252808320878452825280832080548d9003905585835280832080548d0190558683526003825280832085845282528083208b8452909152902054610d0f908a6131be565b600085815260036020908152604080832086845282528083208c84528252808320939093558251600160a060020a038e8116825291810183905280840192909252606082018c9052608082018b90529151918d16917f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9181900360a00190a25060019a9950505050505050505050565b60045481565b6000610db68686868686600061080e565b9695505050505050565b6000610dd0848484600080612b42565b949350505050565b600080600080610dea3330888a6113a1565b1515610e66576040805160e560020a62461bcd02815260206004820152603060248201527f7472616e7366657220646964206e6f74207061737320696e2072656465656d5260448201527f65616c69747946756e64546f6b656e7300000000000000000000000000000000606482015290519081900360840190fd5b600093508692505b600560009054906101000a9004600160a060020a0316600160a060020a031663176b6f016040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ec157600080fd5b505af1158015610ed5573d6000803e3d6000fd5b505050506040513d6020811015610eeb57600080fd5b50518314610f8a57600083815260086020908152604080832054600554825160e060020a63f36b43cb0281526004810189905292519890910197600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610f5757600080fd5b505af1158015610f6b573d6000803e3d6000fd5b505050506040513d6020811015610f8157600080fd5b50519250610e6e565b600091505b845182101561117e578482815181101515610fa657fe5b6020908102909101810151604080517f4d30b6be000000000000000000000000000000000000000000000000000000008152306004820152602481018b90529051600160a060020a0390921692634d30b6be926044808401938290030181600087803b15801561101557600080fd5b505af1158015611029573d6000803e3d6000fd5b505050506040513d602081101561103f57600080fd5b5051855190915085908390811061105257fe5b90602001906020020151600160a060020a03166357cfeeee3386848a0281151561107857fe5b6040805160e060020a63ffffffff8716028152600160a060020a0390941660048501529190046024830152604482018b90525160648083019260209291908290030181600087803b1580156110cc57600080fd5b505af11580156110e0573d6000803e3d6000fd5b505050506040513d60208110156110f657600080fd5b50511515611173576040805160e560020a62461bcd028152602060048201526024808201527f7472616e73666572206f662066756e647320776173206e6f742073756363657360448201527f7366756c00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600190910190610f8f565b50505050505050565b604080516020808201879052606060020a600160a060020a0387168102838501526054830186905260748301859052330260948301528251608881840301815260a8909201928390528151600093849392909182918401908083835b602083106112025780518252601f1990920191602091820191016111e3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090508091505b50949350505050565b601281565b60408051606060020a600160a060020a03871602602080830191909152603480830187905283518084039091018152605490920192839052815160009384938493909282918401908083835b602083106112ae5780518252601f19909201916020918201910161128f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600090505b84158015906112f15750848414155b15611395576000858152600160209081526040808320858452825280832054600554825160e060020a63f36b43cb028152600481018b905292519590910194600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b15801561136257600080fd5b505af1158015611376573d6000803e3d6000fd5b505050506040513d602081101561138c57600080fd5b505194506112e2565b841515610db657600080fd5b60006113b28585858560008061080e565b95945050505050565b600b805467ffffffff0000000019166401000000004262278d000163ffffffff1602179055604080516020808201899052600160a060020a038816606060020a908102838501526054830188905260748301879052330260948301528251808303608801815260a89092019283905281516000938493606093859391929182918401908083835b602083106114615780518252601f199092019160209182019101611442565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250611499836128d0565b60405160200180807f46726f6d20616c6c206f666665727320666f72207468652066455454462c207481526020017f686520666f6c6c6f77696e67206465616c207761732074686520626573743a00815250603f0182805190602001908083835b602083106115195780518252601f1990920191602091820191016114fa565b6001836020036101000a038019825116818451168082178552505050505050905001807f3f000000000000000000000000000000000000000000000000000000000000008152506001019150506040516020818303038152906040529150600660009054906101000a9004600160a060020a0316600160a060020a031663762c38fd65048c27395000600954858a600b60009054906101000a900463ffffffff16600b60049054906101000a900463ffffffff1660006040518863ffffffff1660e060020a028152600401808781526020018060200186600160a060020a0316600160a060020a031681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff168152602001838152602001828103825287818151815260200191508051906020019080838360005b8381101561166657818101518382015260200161164e565b50505050905090810190601f1680156116935780820380516001836020036101000a031916815260200191505b509750505050505050506020604051808303818588803b1580156116b657600080fd5b505af11580156116ca573d6000803e3d6000fd5b50505050506040513d60208110156116e157600080fd5b5051905060008813156117ba57600087126116fb57600080fd5b604080517f17d287e0000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018a9052606481018c90526084810187905260a481018590529051600160a060020a038b16916317d287e09160c48083019260209291908290030181600087803b15801561177e57600080fd5b505af1158015611792573d6000803e3d6000fd5b505050506040513d60208110156117a857600080fd5b505115156117b557600080fd5b6117d5565b600087136117c757600080fd5b6117d33330898d6113a1565b505b600c543410156117e457600080fd5b604080518b8152600160a060020a038b1660208201528082018a90526060810189905233608082015290517fb5314ced9a7db33e50e16bfc3b75ec0c80852fc201d0423cd178d16f0cb5033d9181900360a00190a19998505050505050505050565b600b5463ffffffff1681565b60006118608383600061307b565b9392505050565b600654600160a060020a031681565b6000610dd0848484600080612342565b600554604080517f406edd3600000000000000000000000000000000000000000000000000000000815260048101899052602481018a9052905160009260609284928392600160a060020a03169163406edd3691604480830192602092919082900301818787803b1580156118fa57600080fd5b505af115801561190e573d6000803e3d6000fd5b505050506040513d602081101561192457600080fd5b505115156119a2576040805160e560020a62461bcd02815260206004820152602960248201527f206272616e6368206973206e6f742061206368696c64206f66206f726967696e60448201527f616c206272616e63680000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f49469146000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018f90529151919092169163494691469160448083019260209291908290030181600087803b158015611a1157600080fd5b505af1158015611a25573d6000803e3d6000fd5b505050506040513d6020811015611a3b57600080fd5b50511515611a93576040805160e560020a62461bcd02815260206004820152601e60248201527f61726269747261746f72206973206e6f742077686974652d6c69737465640000604482015290519081900360640190fd5b600560009054906101000a9004600160a060020a0316600160a060020a0316632667404b600660009054906101000a9004600160a060020a0316600160a060020a031663acae8f4e8f6040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611b1d57600080fd5b505af1158015611b31573d6000803e3d6000fd5b505050506040513d6020811015611b4757600080fd5b50516040805163ffffffff84811660e060020a0282529092166004830152602482018f90525160448083019260209291908290030181600087803b158015611b8e57600080fd5b505af1158015611ba2573d6000803e3d6000fd5b505050506040513d6020811015611bb857600080fd5b50511515611c10576040805160e560020a62461bcd02815260206004820152601d60248201527f77696e646f77202b2074696d6520206973206e6f7420636f7272656374000000604482015290519081900360640190fd5b6040805160208082018d9052606060020a600160a060020a038d16810283850152605483018c9052607483018b9052330260948301528251608881840301815260a890920192839052815191929182918401908083835b60208310611c865780518252601f199092019160209182019101611c67565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350611cbe846128d0565b60405160200180807f46726f6d20616c6c206f666665727320666f72207468652066455454462c207481526020017f686520666f6c6c6f77696e67206465616c207761732074686520626573743a00815250603f0182805190602001908083835b60208310611d3e5780518252601f199092019160209182019101611d1f565b51815160209384036101000a60001901801990921691161790527f3f000000000000000000000000000000000000000000000000000000000000009190930190815260408051808303601e1901815260018301909152600954600b546021840182815264010000000090910463ffffffff1660e060020a810260418601528351939b5091975090955089949093506045909201918401908083835b60208310611df85780518252601f199092019160209182019101611dd9565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b60208310611e5d5780518252601f199092019160209182019101611e3e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600660009054906101000a9004600160a060020a0316600160a060020a03166312a203c38d8489600b60009054906101000a900463ffffffff16600a546040518663ffffffff1660e060020a028152600401808660001916600019168152602001856000191660001916815260200184600160a060020a0316600160a060020a031681526020018363ffffffff1663ffffffff16815260200182815260200195505050505050602060405180830381600087803b158015611f4c57600080fd5b505af1158015611f60573d6000803e3d6000fd5b505050506040513d6020811015611f7657600080fd5b5051905080151561205e57600088131561204357604080517f6dd265a5000000000000000000000000000000000000000000000000000000008152336004820152602481018a9052604481018d905260648101869052608481018790529051600160a060020a038b1691636dd265a59160a48083019260209291908290030181600087803b15801561200757600080fd5b505af115801561201b573d6000803e3d6000fd5b505050506040513d602081101561203157600080fd5b5051151561203e57600080fd5b612059565b61204e33888d611876565b151561205957600080fd5b612209565b600088131561214e576120743360008d8d612cbc565b1561207e57600080fd5b60008b8152602081815260408083208151606060020a33028185015260348082018690528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106120e85780518252601f1990920191602091820191016120c9565b51815160001960209485036101000a019081169019919091161790526040805194909201849003909320865285830196909652509284016000908120805490960190955550508d835260089052812080548901905561214890888d6129e8565b50612209565b604080517f57cfeeee000000000000000000000000000000000000000000000000000000008152336004820152602481018a9052604481018d90529051600160a060020a038b16916357cfeeee9160648083019260209291908290030181600087803b1580156121bd57600080fd5b505af11580156121d1573d6000803e3d6000fd5b505050506040513d60208110156121e757600080fd5b505115156121f457600080fd5b60008b81526008602052604090208054880190555b505050505050505050505050565b60008080660775f05a07400085111561227a576040805160e560020a62461bcd02815260206004820152601e60248201527f616d6f756e7420626967676572207468616e20746f74616c537570706c790000604482015290519081900360640190fd5b5060009050835b831561233457600084815260208181526040808320898452825280832054600554825160e060020a63f36b43cb028152600481018a905292519690910195600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b1580156122f157600080fd5b505af1158015612305573d6000803e3d6000fd5b505050506040513d602081101561231b57600080fd5b5051935080821261232f5760019250612339565b612281565b600092505b50509392505050565b600554604080517f6ceccf7300000000000000000000000000000000000000000000000000000000815260048101869052905160009283928392600160a060020a0390921691636ceccf739160248082019260209290919082900301818787803b1580156123af57600080fd5b505af11580156123c3573d6000803e3d6000fd5b505050506040513d60208110156123d957600080fd5b50519150660775f05a074000871115612462576040805160e560020a62461bcd02815260206004820152602760248201527f2073656e64696e6720616d6f756e7420626967676572207468616e20746f746160448201527f6c537570706c7900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b1580156124c957600080fd5b505af11580156124dd573d6000803e3d6000fd5b505050506040513d60208110156124f357600080fd5b5051151561254b576040805160e560020a62461bcd02815260206004820152601260248201527f206272616e6368206d7573742065786973740000000000000000000000000000604482015290519081900360640190fd5b60408051606060020a3302602080830191909152603480830189905283518084039091018152605490920192839052815191929182918401908083835b602083106125a75780518252601f199092019160209182019101612588565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526002909252929020549194505084101591506126629050576040805160e560020a62461bcd02815260206004820152602a60248201527f206272616e636857696e646f77203e3d206c617374446562697457696e646f7760448201527f735b6163636f756e745d00000000000000000000000000000000000000000000606482015290519081900360840190fd5b61266d818888612217565b15156126c3576040805160e560020a62461bcd02815260206004820152601960248201527f20616d6f756e7420776173206e6f74207370656e6461626c6500000000000000604482015290519081900360640190fd5b600081815260026020908152604080832085905588835282825280832084845280835281842080548c900390558984528383528151606060020a600160a060020a038e16028185015260348082018a90528351808303909101815260549091019283905280518c959294929391928291908401908083835b6020831061275a5780518252601f19909201916020918201910161273b565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805495909501909455508051338152918201889052818101879052606082018a90526080820189905251600160a060020a038b1692507f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9160a0908290030190a2506001979650505050505050565b60086020526000908152604090205481565b60095481565b6000610dd0848484600080612ec3565b600a5481565b60408051606060020a600160a060020a03861602602080830191909152600060348084018290528451808503909101815260549093019384905282519093610dd09392909182918401908083835b6020831061289c5780518252601f19909201916020918201910161287d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208484612217565b604080516020808252818301909252606091829160009182919080820161040080388339019050509250600091505b602082101561298557506008810260020a84027fff0000000000000000000000000000000000000000000000000000000000000081161561297a5780838381518110151561294957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b6001909101906128ff565b50909392505050565b60408051808201909152600581527f4645545446000000000000000000000000000000000000000000000000000000602082015281565b600360209081526000938452604080852082529284528284209052825290205481565b600554604080517f0236b8170000000000000000000000000000000000000000000000000000000081526004810184905290516000928392600160a060020a0390911691630236b8179160248082019260209290919082900301818787803b158015612a5357600080fd5b505af1158015612a67573d6000803e3d6000fd5b505050506040513d6020811015612a7d57600080fd5b505111612a8957600080fd5b60008281526001602090815260408083208151606060020a33028185015260348082018a905283518083039091018152605490910192839052805188959294929391928291908401908083835b60208310612af55780518252601f199092019160209182019101612ad6565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000208054949094019093555060019695505050505050565b60408051606060020a600160a060020a03871602602080830191909152603480830186905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310612bad5780518252601f199092019160209182019101612b8e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915087846040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310612c535780518252601f199092019160209182019101612c34565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000908152600382528381209781529681528287209a875299909952909320549998505050505050505050565b600b54640100000000900463ffffffff1681565b60408051606060020a600160a060020a038716026020808301919091526034808301879052835180840390910181526054909201928390528151600093849392909182918401908083835b60208310612d265780518252601f199092019160209182019101612d07565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b8315801590612d655750838314155b15612e175760008481526001602090815260408083208484529091528120541315612d935760019150611235565b6005546040805160e060020a63f36b43cb028152600481018790529051600160a060020a039092169163f36b43cb916024808201926020929091908290030181600087803b158015612de457600080fd5b505af1158015612df8573d6000803e3d6000fd5b505050506040513d6020811015612e0e57600080fd5b50519350612d56565b50600095945050505050565b60408051606060020a600160a060020a0387160260208083019190915260348083018590528351808403909101815260549092019283905281516000936113b29392909182918401908083835b60208310612e8f5780518252601f199092019160209182019101612e70565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208585612217565b60408051606060020a600160a060020a03881602602080830191909152603480830185905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310612f2e5780518252601f199092019160209182019101612f0f565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018d90528551808503909101815260549093019485905282519098509195509293508392850191508083835b60208310612faf5780518252601f199092019160209182019101612f90565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206000818152600383528381208a825283528381208e825283528390208e90558b85529084018a90528382018d9052606084018c90529051909550600160a060020a038d1694503393507f3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186928190036080019150a3506001979650505050505050565b600554600160a060020a031681565b60026020526000908152604090205481565b6000805b8315610dd0576000848152602081815260408083208151606060020a600160a060020a038b160281850152603480820189905283518083039091018152605490910192839052805191949390929182918401908083835b602083106130f55780518252601f1990920191602091820191016130d6565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812054600554855160e060020a63f36b43cb028152600481018c905295519790910196600160a060020a039091169563f36b43cb95602480820196509194509192918390030190829087803b15801561318557600080fd5b505af1158015613199573d6000803e3d6000fd5b505050506040513d60208110156131af57600080fd5b5051935061307f565b600c5481565b6000828211156131ca57fe5b509003905600a165627a7a723058208e381152ead95436255b14275b9ac5d80a2cc1104590da56669336980aa7f7490029",
  "sourceMap": "163:7300:1:-;;;887:1;861:27;;919:10;894:35;;935:30;;;-1:-1:-1;;935:30:1;961:4;935:30;;;1035:16;1000:51;;1151:210;5:2:-1;;;;30:1;27;20:12;5:2;1151:210:1;;;;;;;;;;;;;;;;;;;;;;;;;;;1598:7:3;:18;;-1:-1:-1;;;;;;1598:18:3;-1:-1:-1;;;;;1598:18:3;;;;;;;;;;;1654:27;;;;;1151:210:1;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1654:7:3;;;:25;;:27;;;;;;;;;;-1:-1:-1;1654:7:3;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;1654:27:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1654:27:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1654:27:3;1711:29;;1654:27;;-1:-1:-1;1711:29:3;-1:-1:-1;1771:2:3;1759:14;;1751:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1830:1;1820:11;;1815:264;1837:9;1833:1;:13;1815:264;;;1912:22;1935:1;1912:25;;;;;;;;;;;;;;;;;;1939:9;1895:54;;;;;;-1:-1:-1;;;;;1895:54:3;-1:-1:-1;;;;;1895:54:3;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1895:54:3;;;1885:65;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1885:65:3;;;;;;;;;;;;;-1:-1:-1;1964:32:3;;;;;;;;;:41;;;;;;;;;:60;;2009:15;1964:60;;;;;;2038:11;:30;;;;;;;-1:-1:-1;;1848:3:3;;;;;1885:65;-1:-1:-1;1815:264:3;;-1:-1:-1;;1815:264:3;;-1:-1:-1;;1326:12:1;:28;;-1:-1:-1;;;;;1326:28:1;;;-1:-1:-1;;;;;;1326:28:1;;;;;;;;;;-1:-1:-1;;;;;;163:7300:1;;;;;;",
  "deployedSourceMap": "163:7300:1:-;;;;;;;;;-1:-1:-1;;;163:7300:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;691:68:1;;;-1:-1:-1;;;;;691:68:1;;;;;;;;;;;;;;;;;;;;;415:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;415:47:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;415:47:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:1287:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5707:1287:3;-1:-1:-1;;;;;5707:1287:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1433:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1433:26:3;;;;7000:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7000:219:3;-1:-1:-1;;;;;7000:219:3;;;;;;;;;;;;;;;;2284:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2284:194:3;-1:-1:-1;;;;;2284:194:3;;;;;;;;;;;;5742:1078:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5742:1078:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5742:1078:1;;-1:-1:-1;5742:1078:1;;-1:-1:-1;;;;;;;5742:1078:1;;;7185:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7185:276:1;;;-1:-1:-1;;;;;7185:276:1;;;;;;;;;513:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;513:35:1;;;;;;;;;;;;;;;;;;;;;;;8161:532:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8161:532:3;-1:-1:-1;;;;;8161:532:3;;;;;;;;;;;5508:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5508:193:3;-1:-1:-1;;;;;5508:193:3;;;;;;;;;;;;;;1509:1378:1;;;;-1:-1:-1;;;;;1509:1378:1;;;;;;;;;;;;;;;;;;935:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;935:30:1;;;;;;;;;;;;;;;;;;;;;;;3351:148:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3351:148:3;-1:-1:-1;;;;;3351:148:3;;;;;;;623:28:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;623:28:1;;;;;;;;-1:-1:-1;;;;;623:28:1;;;;;;;;;;;;;;4339:169:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4339:169:3;-1:-1:-1;;;;;4339:169:3;;;;;;;;;3000:2733:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3000:2733:1;;;;;;;-1:-1:-1;;;;;3000:2733:1;;;;;;;;;;;;;;;;;;9003:550:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9003:550:3;;;;;;;;;4514:988;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4514:988:3;-1:-1:-1;;;;;4514:988:3;;;;;;;;;;;;;800:49:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;800:49:1;;;;;861:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;861:27:1;;;;2091:187:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2091:187:3;-1:-1:-1;;;;;2091:187:3;;;;;;;;;894:35:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;894:35:1;;;;3861:228:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3861:228:3;-1:-1:-1;;;;;3861:228:3;;;;;;;;;6826:353:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6826:353:1;;;;;468:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;468:39:1;;;;1345:81:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1345:81:3;;;;;;;;;7275:297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7275:297:3;;;;;;;;;2958:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2958:387:3;-1:-1:-1;;;;;2958:387:3;;;;;;;;;;;;;;;;971:23:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;971:23:1;;;;7632:483:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7632:483:3;-1:-1:-1;;;;;7632:483:3;;;;;;;;;;;4095:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4095:238:3;-1:-1:-1;;;;;4095:238:3;;;;;;;;;;;2484:468;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2484:468:3;-1:-1:-1;;;;;2484:468:3;;;;;;;;;;;;;1465:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1465:31:3;;;;1172:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1172:51:3;;;;;3505:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3505:350:3;-1:-1:-1;;;;;3505:350:3;;;;;;;;;1000:51:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1000:51:1;;;;691:68;;;;;;;;;;;;;;;;;;;;;;;;:::o;415:47::-;;;;;;;;;;;;;;;;;;;:::o;5707:1287:3:-;5858:4;5875:15;5948:13;6016:17;6157:20;5919:8;5929:7;5902:35;;;;;;-1:-1:-1;;;;;5902:35:3;-1:-1:-1;;;;;5902:35:3;-1:-1:-1;;;5902:35:3;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5902:35:3;;;5892:46;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5892:46:3;;;;;;;;;;;;;;;;5875:63;;5991:6;5999:5;5974:31;;;;;;-1:-1:-1;;;;;5974:31:3;-1:-1:-1;;;;;5974:31:3;-1:-1:-1;;;5974:31:3;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5974:31:3;;;5964:42;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5964:42:3;;;;;;;;;;;;6063:10;-1:-1:-1;;;6046:35:3;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6046:35:3;;;;;;;;6036:46;;5964:42;;-1:-1:-1;6046:35:3;;-1:-1:-1;6046:35:3;;-1:-1:-1;6046:35:3;;6036:46;;;-1:-1:-1;6036:46:3;6046:35;6036:46;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6036:46:3;;;;;;;;;;;;;-1:-1:-1;6100:16:3;;;:7;:16;;;;;:27;;;;;;;;:35;;;;;;;;;;6036:46;;-1:-1:-1;;;;6100:45:3;;-1:-1:-1;6092:54:3;;-1:-1:-1;6092:54:3;;;;;6180:7;;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;6180:7:3;;;;:20;;:28;;;;;;;;;;;;;;;:7;;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;6180:28:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6180:28:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6180:28:3;;-1:-1:-1;6237:16:3;6227:26;;;6219:70;;;;;-1:-1:-1;;;;;6219:70:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6307:7;;:31;;;;;;;;;;;;;;-1:-1:-1;;;;;6307:7:3;;;;:23;;:31;;;;;;;;;;;;;;;:7;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;6307:31:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6307:31:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6307:31:3;6299:61;;;;;;;-1:-1:-1;;;;;6299:61:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:25;;;;:16;:25;;;;;;6399:41;;;6391:78;;;;;-1:-1:-1;;;;;6391:78:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6517:45;6537:7;6547:6;6555;6517:18;:45::i;:::-;6509:82;;;;;;;-1:-1:-1;;;;;6509:82:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6635:25;;;;:16;:25;;;;;;;;:40;;;6685:21;;;;;;;;;:30;;;;;;;;:48;;;;;;;6743:28;;;;;;:46;;;;;;6838:16;;;:7;:16;;;;;:27;;;;;;;;:35;;;;;;;;;:47;;6685:48;6838:39;:47::i;:::-;6800:16;;;;:7;:16;;;;;;;;:27;;;;;;;;:35;;;;;;;;:85;;;;6901:64;;-1:-1:-1;;;;;6901:64:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6983:4:3;;5707:1287;-1:-1:-1;;;;;;;;;;5707:1287:3:o;1433:26::-;;;;:::o;7000:219::-;7124:4;7147:65;7163:4;7169:6;7177;7185;7193:7;7202:9;7147:15;:65::i;:::-;7140:72;7000:219;-1:-1:-1;;;;;;7000:219:3:o;2284:194::-;2380:14;2413:58;2426:5;2433:7;2442:6;2450:9;2461;2413:12;:58::i;:::-;2406:65;2284:194;-1:-1:-1;;;;2284:194:3:o;5742:1078:1:-;6101:33;6148:21;6455:6;6513:16;5917:46;5930:10;5942:4;5948:6;5956;5917:12;:46::i;:::-;5909:107;;;;;;;-1:-1:-1;;;;;5909:107:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6137:1;6101:37;;6172:6;6148:30;;6188:210;6212:7;;;;;;;;;-1:-1:-1;;;;;6212:7:1;-1:-1:-1;;;;;6212:25:1;;:27;;;;;-1:-1:-1;;;6212:27:1;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6212:27:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6212:27:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6212:27:1;6195:44;;6188:210;;6285:33;;;;:18;:33;;;;;;;;;6348:7;;:39;;-1:-1:-1;;;;;6348:39:1;;;;;;;;;;6255:63;;;;;-1:-1:-1;;;;;6348:7:1;;;;:24;;:39;;;;;6285:33;;6348:39;;;;;;;;;:7;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;6348:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6348:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6348:39:1;;-1:-1:-1;6188:210:1;;;6462:1;6455:8;;6450:363;6469:16;:23;6465:1;:27;6450:363;;;6548:16;6565:1;6548:19;;;;;;;;;;;;;;;;;;;;6532:60;;;;;;6579:4;6532:60;;;;;;;;;;;;-1:-1:-1;;;;;6532:46:1;;;;;;:60;;;;;;;;;;-1:-1:-1;6532:46:1;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;6532:60:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6532:60:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6532:60:1;6658:19;;6532:60;;-1:-1:-1;6658:16:1;;6675:1;;6658:19;;;;;;;;;;;;;;-1:-1:-1;;;;;6642:45:1;;6688:10;6725:26;6709:8;6700:6;:17;:52;;;;;;;6642:119;;;-1:-1:-1;;;6642:119:1;;;;;;-1:-1:-1;;;;;6642:119:1;;;;;;;6700:52;;;6642:119;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6642:119:1;;;;5:2:-1;;;;30:1;27;20:12;5:2;6642:119:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6642:119:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6642:119:1;6634:168;;;;;;;-1:-1:-1;;;;;6634:168:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6494:3;;;;;6450:363;;;5742:1078;;;;;;;:::o;7185:276::-;7350:82;;;;;;;;;;-1:-1:-1;;;;;;;;7350:82:1;;;;;;;;;;;;;;;;;;;;7421:10;7350:82;;;;;;;22:32:-1;26:21;;;22:32;6:49;;7350:82:1;;;;;;;;7340:93;;7306:7;;;;7350:82;;;;;7340:93;;;;7350:82;7340:93;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7340:93:1;;;;;;;;;;;;;;;;7325:108;;7450:4;7443:11;;7185:276;;;;;;;;:::o;513:35::-;546:2;513:35;:::o;8161:532:3:-;8354:28;;;-1:-1:-1;;;;;;;;8354:28:3;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;8354:28:3;;;;;;;;8344:39;;8312:7;;;;;;8354:28;;;;8344:39;;;;8354:28;8344:39;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;8344:39:3;;;;;;;;;;;;;;;;8331:52;;8406:1;8393:14;;8417:199;8424:23;;;;;:63;;-1:-1:-1;8451:36:3;;;;8424:63;8417:199;;;8510:28;;;;:16;:28;;;;;;;;:32;;;;;;;;;8569:7;;:36;;-1:-1:-1;;;;;8569:36:3;;;;;;;;;;8503:39;;;;;-1:-1:-1;;;;;8569:7:3;;;;:24;;:36;;;;;8510:28;;8569:36;;;;;;;;;:7;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;8569:36:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8569:36:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8569:36:3;;-1:-1:-1;8417:199:3;;;8633:23;;;8625:32;;;;;5508:193;5608:4;5631:63;5647:4;5653:2;5657:6;5665;5673:9;5684;5631:15;:63::i;:::-;5624:70;5508:193;-1:-1:-1;;;;;5508:193:3:o;1509:1378:1:-;1725:9;:33;;-1:-1:-1;;1725:33:1;;1744:3;1750:7;1744:13;1725:33;;;;;;1793:82;;;;;;;;;;-1:-1:-1;;;;;1793:82:1;;-1:-1:-1;;;1793:82:1;;;;;;;;;;;;;;;;;;;1864:10;1793:82;;;;;;;26:21:-1;;;22:32;;6:49;;1793:82:1;;;;;;;;1783:93;;-1:-1:-1;;;;1886:22:1;;-1:-1:-1;;1793:82:1;;;;;1783:93;;;;1793:82;1783:93;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1783:93:1;;;;;;;;;;;;;;;;1768:108;;2002:30;2026:4;2002:15;:30::i;:::-;1918:120;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1918:120:1;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1918:120:1;;;1886:153;;2169:12;;;;;;;;;-1:-1:-1;;;;;2169:12:1;-1:-1:-1;;;;;2169:24:1;;2200:15;2217:10;;2229:8;2239:10;2251;;;;;;;;;;;2263:9;;;;;;;;;;;2274:1;2169:107;;;;;-1:-1:-1;;;2169:107:1;;;;;;;;;;;;;;;-1:-1:-1;;;;;2169:107:1;-1:-1:-1;;;;;2169:107:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2169:107:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2169:107:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2169:107:1;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2169:107:1;;-1:-1:-1;2349:1:1;2333:17;;2329:333;;;2389:1;2374:16;;2366:25;;;;;;2413:110;;;;;;2462:10;2413:110;;;;2474:4;2413:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2413:48:1;;;;;:110;;;;;;;;;;;;;;-1:-1:-1;2413:48:1;:110;;;5:2:-1;;;;30:1;27;20:12;5:2;2413:110:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2413:110:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2413:110:1;2405:119;;;;;;;;2329:333;;;2577:1;2562:16;;2554:25;;;;;;2592:58;2605:10;2617:4;2628:12;2643:6;2592:12;:58::i;:::-;;2329:333;2737:18;;2724:9;:31;;2716:40;;;;;;2772:81;;;;;;-1:-1:-1;;;;;2772:81:1;;;;;;;;;;;;;;;;;;2842:10;2772:81;;;;;;;;;;;;;;;2870:10;1509:1378;-1:-1:-1;;;;;;;;;1509:1378:1:o;935:30::-;;;;;;:::o;3351:148:3:-;3429:7;3455:37;3468:4;3474:6;3482:9;3455:12;:37::i;:::-;3448:44;3351:148;-1:-1:-1;;;3351:148:3:o;623:28:1:-;;;-1:-1:-1;;;;;623:28:1;;:::o;4339:169:3:-;4423:4;4446:55;4458:4;4464:6;4472;4480:9;4491;4446:11;:55::i;3000:2733:1:-;3302:7;;:57;;;;;;;;;;;;;;;;;;;;3761:12;;3888:22;;3761:12;;;;-1:-1:-1;;;;;3302:7:1;;:24;;:57;;;;;;;;;;;;;;3761:12;3302:7;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;3302:57:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3302:57:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3302:57:1;3294:111;;;;;;;-1:-1:-1;;;;;3294:111:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3475:7;;:60;;;;;;-1:-1:-1;;;;;3475:60:1;;;;;;;;;;;;;;;:7;;;;;:31;;:60;;;;;;;;;;;;;;:7;;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;3475:60:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3475:60:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3475:60:1;3467:103;;;;;;;-1:-1:-1;;;;;3467:103:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3589:7;;;;;;;;;-1:-1:-1;;;;;3589:7:1;-1:-1:-1;;;;;3589:30:1;;3620:12;;;;;;;;;-1:-1:-1;;;;;3620:12:1;-1:-1:-1;;;;;3620:26:1;;3647:10;3620:38;;;;;-1:-1:-1;;;3620:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3620:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3620:38:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3620:38:1;3589:87;;;;;;;-1:-1:-1;;;3589:87:1;;;;;;;;;;;;;;;;;;;;;;3620:38;;3589:87;;;;;;;-1:-1:-1;3589:87:1;;;;5:2:-1;;;;30:1;27;20:12;5:2;3589:87:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3589:87:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3589:87:1;3581:129;;;;;;;-1:-1:-1;;;;;3581:129:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3786:91;;;;;;;;;;-1:-1:-1;;;;;;;;3786:91:1;;;;;;;;;;;;;;;;;;;;3866:10;3786:91;;;;;;;22:32:-1;26:21;;;22:32;6:49;;3786:91:1;;;;;;;;3776:102;;3786:91;;;;;3776:102;;;;3786:91;3776:102;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3776:102:1;;;;;;;;;;;;;;;;3761:117;;4004:30;4028:4;4004:15;:30::i;:::-;3920:120;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;3920:120:1;;;;;;;;;;;26:21:-1;;;-1:-1;;22:32;6:49;;274:1;3920:120:1;;;;;4100:10;;4112:9;;4083:49;;;;;;4112:9;;;;;;-1:-1:-1;;;4083:49:1;;;;;;;;3920:120;;-1:-1:-1;4100:10:1;;-1:-1:-1;4112:9:1;;-1:-1:-1;3920:120:1;;4083:49;;-1:-1:-1;4083:49:1;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4083:49:1;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4083::1;;;4073:60;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4073:60:1;;;;;;;;;;;;;;;;4051:82;;4164:12;;;;;;;;;-1:-1:-1;;;;;4164:12:1;-1:-1:-1;;;;;4164:36:1;;4201:10;4213:11;4226:10;4238;;;;;;;;;;;4250:7;;4164:94;;;;;-1:-1:-1;;;4164:94:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4164:94:1;-1:-1:-1;;;;;4164:94:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4164:94:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4164:94:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4164:94:1;;-1:-1:-1;4546:8:1;;4542:1185;;;4642:1;4625:14;:18;4621:281;;;4671:110;;;;;;4716:10;4671:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4671:44:1;;;;;:110;;;;;;;;;;;;;;-1:-1:-1;4671:44:1;:110;;;5:2:-1;;;;30:1;27;20:12;5:2;4671:110:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4671:110:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4671:110:1;4663:119;;;;;;;;4621:281;;;4829:57;4838:10;4855:12;4870:15;4829:8;:57::i;:::-;4821:66;;;;;;;;4542:1185;;;5035:1;5018:14;:18;5014:703;;;5065:72;5082:10;5094:9;5105:15;5122:14;5065:16;:72::i;:::-;5064:73;5056:82;;;;;;5157:13;:30;;;;;;;;;;;5198:39;;-1:-1:-1;;;5215:10:1;5198:39;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5198:39:1;;;;;;;;5188:50;;5243:12;;5157:30;;:13;;5198:39;;;;5188:50;;;;;5198:39;5188:50;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;246:30;340:21;;;311:9;;295:26;;;;377:20;365:33;;5188:50:1;;;;;;;;;;;;;5157:82;;;;;;;;;-1:-1:-1;5157:82:1;;;-1:-1:-1;5157:82:1;;;:98;;;;;;;;-1:-1:-1;;5273:35:1;;;:18;:35;;;;:51;;;;;;5342:67;;5312:12;5292:15;5342:19;:67::i;:::-;;5014:703;;;5540:92;;;;;;5582:10;5540:92;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5540:41:1;;;;;:92;;;;;;;;;;;;;;-1:-1:-1;5540:41:1;:92;;;5:2:-1;;;;30:1;27;20:12;5:2;5540:92:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5540:92:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5540:92:1;5532:101;;;;;;;;5651:35;;;;:18;:35;;;;;:51;;;;;;5014:703;3000:2733;;;;;;;;;;;;:::o;9003:550:3:-;9114:4;;;9152:16;9138:30;;;9130:73;;;;;-1:-1:-1;;;;;9130:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9226:1:3;;-1:-1:-1;9265:10:3;9286:239;9293:23;;9286:239;;9339:13;:25;;;;;;;;;;;:31;;;;;;;;;9397:7;;:36;;-1:-1:-1;;;;;9397:36:3;;;;;;;;;;9332:38;;;;;-1:-1:-1;;;;;9397:7:3;;;;:24;;:36;;;;;9339:25;;9397:36;;;;;;;;;:7;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;9397:36:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9397:36:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9397:36:3;;-1:-1:-1;9451:18:3;;;9447:68;;9496:4;9489:11;;;;9447:68;9286:239;;;9541:5;9534:12;;9003:550;;;;;;;;:::o;4514:988::-;4672:7;;:28;;;;;;;;;;;;;;4633:4;;;;;;-1:-1:-1;;;;;4672:7:3;;;;:20;;:28;;;;;;;;;;;;;;;4633:4;4672:7;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;4672:28:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4672:28:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4672:28:3;;-1:-1:-1;4729:16:3;4719:26;;;4711:78;;;;;-1:-1:-1;;;;;4711:78:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4807:7;;:31;;;;;;;;;;;;;;-1:-1:-1;;;;;4807:7:3;;;;:23;;:31;;;;;;;;;;;;;;;:7;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;4807:31:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4807:31:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4807:31:3;4799:62;;;;;;;-1:-1:-1;;;;;4799:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;4899:37;;;-1:-1:-1;;;4916:10:3;4899:37;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4899:37:3;;;;;;;;4889:48;;4899:37;;;;;4889:48;;;;4899:37;4889:48;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;4889:48:3;;;;;;;;;;;;;-1:-1:-1;4971:25:3;;;:16;:25;;;;;;;4889:48;;-1:-1:-1;;4955:41:3;;;;-1:-1:-1;4947:96:3;;-1:-1:-1;4947:96:3;;;;-1:-1:-1;;;;;4947:96:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5091:45;5111:7;5121:6;5129;5091:18;:45::i;:::-;5083:83;;;;;;;-1:-1:-1;;;;;5083:83:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;5210:25;;;;:16;:25;;;;;;;;:40;;;5260:21;;;;;;;;;:30;;;;;;;;;:48;;;;;;;5318:21;;;;;;5350:29;;-1:-1:-1;;;;;;;;5350:29:3;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5350:29:3;;;;;;;;5340:40;;5301:6;;5260:21;;5210:25;;5350:29;;;;5340:40;;;;;5350:29;5340:40;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5340:40:3;;;;;;;;;;;;;5318:63;;;;;;;;;-1:-1:-1;5318:63:3;;;-1:-1:-1;5318:63:3;:81;;;;;;;;;-1:-1:-1;5415:58:3;;5430:10;5415:58;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5415:58:3;;;-1:-1:-1;5415:58:3;;;;;;;;;;-1:-1:-1;5491:4:3;;4514:988;-1:-1:-1;;;;;;;4514:988:3:o;800:49:1:-;;;;;;;;;;;;;:::o;861:27::-;;;;:::o;2091:187:3:-;2180:12;2211:60;2222:8;2232:7;2241;2250:9;2261;2211:10;:60::i;894:35:1:-;;;;:::o;3861:228:3:-;4023:33;;;-1:-1:-1;;;;;;;;4023:33:3;;;;;;;;;;;3971:4;4023:33;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4023:33:3;;;;;;;;4013:44;;3971:4;;3994:88;;4023:33;;;;;4013:44;;;;4023:33;4013:44;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4013:44:3;;;;;;;;;;;;;;;;4059:10;4071;3994:18;:88::i;6826:353:1:-;6927:13;;;6937:2;6927:13;;;;;;;;;6882:6;;;;6955;;;;6927:13;;;;17:15:-1;;105:10;6927:13:1;88:34:-1;136:17;;-1:-1;6927:13:1;6900:40;;6962:1;6955:8;;6950:187;6969:2;6965:1;:6;6950:187;;;-1:-1:-1;7036:1:1;:5;;7030:1;:12;7017:25;;7062:9;;;;7058:69;;7108:4;7091:11;7103:1;7091:14;;;;;;;;;;;;;;:21;;;;;;;;;;;7058:69;6973:3;;;;;6950:187;;;-1:-1:-1;7160:11:1;;6826:353;-1:-1:-1;;;6826:353:1:o;468:39::-;;;;;;;;;;;;;;;;;;;:::o;1345:81:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7275:297::-;7389:7;;:31;;;;;;;;;;;;;;7365:4;;;;-1:-1:-1;;;;;7389:7:3;;;;:23;;:31;;;;;;;;;;;;;;;7365:4;7389:7;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;7389:31:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7389:31:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7389:31:3;:35;7381:44;;;;;;7456:24;;;;:16;:24;;;;;;;;7491:33;;-1:-1:-1;;;7508:10:3;7491:33;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7491:33:3;;;;;;;;7481:44;;7537:6;;7456:24;;;;7491:33;;;;7481:44;;;;;7491:33;7481:44;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;7481:44:3;;;;;;;;;;;;;7456:70;;;;;;;;;;;;-1:-1:-1;7456:70:3;:88;;;;;;;;;-1:-1:-1;;;7275:297:3;-1:-1:-1;;;;;;7275:297:3:o;2958:387::-;3159:36;;;-1:-1:-1;;;;;;;;3159:36:3;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3159:36:3;;;;;;;;3149:47;;3097:14;;;;;;3159:36;;;;3149:47;;;;3159:36;3149:47;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3149:47:3;;;;;;;;;;;;;;;;3124:72;;3256:5;3263:11;3239:36;;;;;;-1:-1:-1;;;;;3239:36:3;-1:-1:-1;;;;;3239:36:3;-1:-1:-1;;;3239:36:3;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3239:36:3;;;3229:47;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;3229:47:3;;;;;;;;;;;;;-1:-1:-1;3293:21:3;;;:7;:21;;;;;:37;;;;;;;;;:45;;;;;;;;;;;;2958:387;-1:-1:-1;;;;;;;;;2958:387:3:o;971:23:1:-;;;;;;;;;:::o;7632:483:3:-;7803:28;;;-1:-1:-1;;;;;;;;7803:28:3;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7803:28:3;;;;;;;;7793:39;;7764:4;;;;7803:28;;;;;7793:39;;;;7803:28;7793:39;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7793:39:3;;;;;;;;;;;;;;;;7780:52;;7842:245;7849:23;;;;;:63;;-1:-1:-1;7876:36:3;;;;7849:63;7842:245;;;7967:1;7932:28;;;:16;:28;;;;;;;;:32;;;;;;;;;:36;7928:86;;;7995:4;7988:11;;;;7928:86;8040:7;;:36;;;-1:-1:-1;;;;;8040:36:3;;;;;;;;;;-1:-1:-1;;;;;8040:7:3;;;;:24;;:36;;;;;;;;;;;;;;;:7;;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;8040:36:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8040:36:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8040:36:3;;-1:-1:-1;7842:245:3;;;-1:-1:-1;8103:5:3;;7632:483;-1:-1:-1;;;;;7632:483:3:o;4095:238::-;4273:27;;;-1:-1:-1;;;;;;;;4273:27:3;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4273:27:3;;;;;;;;4263:38;;4221:4;;4244:82;;4273:27;;;;;4263:38;;;;4273:27;4263:38;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4263:38:3;;;;;;;;;;;;;;;;4303:10;4315;4244:18;:82::i;2484:468::-;2668:38;;;-1:-1:-1;;;;;;;;2668:38:3;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2668:38:3;;;;;;;;2658:49;;2613:12;;;;;;2668:38;;;;2658:49;;;;2668:38;2658:49;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;2658:49:3;;;;;;;;;;;;2762:10;-1:-1:-1;;;2745:37:3;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2745:37:3;;;;;;;;2735:48;;2658:49;;-1:-1:-1;2745:37:3;;-1:-1:-1;2745:37:3;;-1:-1:-1;2745:37:3;;2735:48;;;-1:-1:-1;2735:48:3;2745:37;2735:48;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;246:30;340:21;;;311:9;;295:26;;;;377:20;365:33;;2735:48:3;;;;;;;;;;;;-1:-1:-1;2793:16:3;;;:7;:16;;;;;:28;;;;;;;;:37;;;;;;;;:47;;;2855:69;;;;;;;;;;;;;;;;;;;;;;;2735:48;;-1:-1:-1;;;;;;2855:69:3;;;-1:-1:-1;2864:10:3;;-1:-1:-1;2855:69:3;;;;;;;;-1:-1:-1;2855:69:3;-1:-1:-1;2941:4:3;;2484:468;-1:-1:-1;;;;;;;2484:468:3:o;1465:31::-;;;-1:-1:-1;;;;;1465:31:3;;:::o;1172:51::-;;;;;;;;;;;;;:::o;3505:350::-;3600:7;;3643:177;3650:19;;3643:177;;3692:13;:21;;;;;;;;;;;3724:28;;-1:-1:-1;;;;;;;;3724:28:3;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3724:28:3;;;;;;;;3714:39;;3692:21;;:13;3724:28;;;;;3714:39;;;;3724:28;3714:39;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;3714:39:3;;;;;;;;;;;;;3692:62;;;;;;;;;-1:-1:-1;3692:62:3;;;-1:-1:-1;3692:62:3;;;;3777:7;;:32;;-1:-1:-1;;;;;3777:32:3;;;;;;;;;;3685:69;;;;;-1:-1:-1;;;;;3777:7:3;;;;:24;;:32;;;;;-1:-1:-1;263:2;;-1:-1;3777:32:3;;;;;;;;;;:7;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;3777:32:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3777:32:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3777:32:3;;-1:-1:-1;3643:177:3;;1000:51:1;;;;:::o;1060:116:10:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:10;;;1060:116::o",
  "source": "pragma solidity ^0.4.22;\n\nimport \"./ForkonomicToken.sol\";\nimport \"@realitio/realitio-contracts/truffle/contracts/Realitio.sol\";\nimport \"./ForkonomicSystem.sol\";\n\n\ncontract ForkonomicETTF is ForkonomicToken {\n    //events\n    event NewDealProposed(\n        bytes32 branch,\n        address forkonomicToken,\n        int balanceChange_,\n        int  compensation,\n        address sender);\n\n    //constant variables\n    string public constant name = \"ForkonomicsETTF\";\n    string public constant symbol = \"FETTF\";\n    uint8 public constant decimals = 18;  // 18 is the most common number of decimal places\n\n    //interfaces\n    Realitio public realityCheck;\n\n    // branch => token => change\n    mapping(bytes32 => mapping(address => int)) public fundHoldingChange; \n\n    // branch => token => change\n    mapping(bytes32 => int) public fETTFbalanceChange; \n    \n    uint256 public templateId=0;\n    uint256 public minBond = 5000000000;\n    uint32 public minTimeout= 1000;\n    uint32 public openingTs;\n    uint256 public minQuestionFunding =5000000000000000;\n    \n     // minimul payment for a funding request is 0.05 ETH. This is used in realitycheck\n\n    constructor(\n        Realitio realityCheck_, \n        ForkonomicSystem fSystem_,\n        address [] funding\n    )\n    ForkonomicToken(fSystem_, funding) \n    public {\n        realityCheck = realityCheck_;\n    }\n\n    // @dev This function takes a investment proposal and makes a question\n    // in realityCheck to arbitrate about this investment request.\n    function proposeInvestment(bytes32 branch, address forkonomicToken, int balanceChange, int compensation, address arbitrator, bytes32 fromBox) \n    public payable returns(bytes32) {\n        //posting question\n        openingTs = uint32(now + 30 days);\n        bytes32 deal = keccak256(abi.encodePacked(branch, forkonomicToken, balanceChange, compensation, msg.sender));\n        string memory question = string(abi.encodePacked(\"From all offers for the fETTF, the following deal was the best:\", bytes32ToString(bytes32(deal)), \"?\"));\n        //bytes32 contentHash = keccak256(abi.encodePacked(templateId, openingTs, question));     \n        bytes32 questionId = realityCheck.askQuestion.value(5*1000000000000)(templateId, question, arbitrator, minTimeout, openingTs, 0);\n      \n\n        // check request for logic\n        if (balanceChange > 0) {\n            require(compensation < 0);\n            require(ForkonomicToken(forkonomicToken).boxTransferFrom(msg.sender, this, uint(balanceChange), branch, fromBox, deal));\n        } else {\n           require(compensation > 0);\n           transferFrom(msg.sender, this, uint(compensation), branch);\n\n        }\n        //ensure that question can be funded\n        require(msg.value >= minQuestionFunding);\n\n        emit NewDealProposed(branch, forkonomicToken, balanceChange, compensation, msg.sender);\n        return questionId;\n    }\n\n    // @dev executes a previously handed in investement request based on the arbitrators decision.\n    // \n    function executeInvestmentRequest(bytes32 questionId, bytes32 executionbranch, bytes32 originalbranch, address forkonomicToken, int balanceChange_, int compensation, address arbitrator, bytes32 fromBox)\n    public {\n        // check that original branch is a father of executionbranch:\n        require(fSystem.isFatherOfBranch(originalbranch, executionbranch), \" branch is not a child of original branch\");\n\n         // ensure that arbitrator is white-listed\n        require(fSystem.isArbitratorWhitelisted(arbitrator, executionbranch), \"arbitrator is not white-listed\");\n\n        require(fSystem.isBranchCreatedAfterTS(realityCheck.getFinalizeTS(questionId), executionbranch), \"window + time  is not correct\");\n\n        // get answer from relaityCheck\n        bytes32 deal = keccak256(abi.encodePacked(originalbranch, forkonomicToken, balanceChange_, compensation, msg.sender));\n        string memory question = string(abi.encodePacked(\"From all offers for the fETTF, the following deal was the best:\", bytes32ToString(bytes32(deal)), \"?\"));\n        bytes32 contentHash = keccak256(abi.encodePacked(templateId, openingTs, question));     \n        uint ans = uint(realityCheck.getFinalAnswerIfMatches(questionId, contentHash, arbitrator, minTimeout, minBond));\n\n        // ensures that balances are not withdrawn form a branch older than the end of the questionanswer period. \n        //require(fSystem.branchTimestamp(executionbranch) >= minTimeout-fSystem.WINDOWTIMESPAN());\n        \n        // processing the actual fund transfers\n        if (ans == 0) {\n            //if the request has not been accepted\n            if (balanceChange_ > 0) {\n                require(ForkonomicToken(forkonomicToken).boxTransfer(msg.sender, uint(balanceChange_), executionbranch, deal, fromBox));\n            } else {\n                require(transfer(msg.sender, uint(compensation), executionbranch));\n            }\n        } else {\n            //if request has been accepted\n            // credit new fETTF-tokens\n            if (balanceChange_ > 0) {\n                require(!hasBoxWithdrawal(msg.sender, NULL_HASH, executionbranch, originalbranch)); \n                balanceChange[executionbranch][keccak256(abi.encodePacked(msg.sender, NULL_HASH))] += compensation;\n                fETTFbalanceChange[executionbranch] += compensation;\n                recordBoxWithdrawal(NULL_HASH, uint(compensation), executionbranch);\n            } else {\n                //send out the tokens to requestStarter, burn credited fETTF-tokens\n                require(ForkonomicToken(forkonomicToken).transfer(msg.sender, uint(balanceChange_), executionbranch));\n                fETTFbalanceChange[executionbranch] += compensation;\n            }\n        }\n    }\n   \n    function redeemRealityFundTokens(bytes32 branch, uint amount, address [] forkonomicTokens) public {\n        // transfer tokens, which are about to be redeemed\n        require(transferFrom(msg.sender, this, amount, branch), \"transfer did not pass in redeemRealityFundTokens\");\n\n        //calculate the total amount of outstanding ForkonomicETTF-tokens\n        int256 amountOutstandingETTFToken = 0;\n        bytes32 hashIteration = branch;\n        while (hashIteration != fSystem.genesisBranchHash()) {\n            amountOutstandingETTFToken += fETTFbalanceChange[hashIteration];\n            hashIteration = fSystem.branchParentHash(hashIteration);\n        }\n\n        // make the payout for all tokens\n        for (uint i=0; i < forkonomicTokens.length; i++) {\n            uint256 holdings = ForkonomicToken(forkonomicTokens[i]).balanceOf(this, branch);\n            //make safe mul\n            require(ForkonomicToken(forkonomicTokens[i]).transfer(msg.sender, amount * holdings / uint(amountOutstandingETTFToken), branch), \"transfer of funds was not successful\");\n        }\n\n    }\n\n    function bytes32ToString (bytes32 data) public returns (string) {\n        bytes memory bytesString = new bytes(32);\n        for (uint j=0; j < 32; j++) {\n            byte char = byte(bytes32(uint(data) * 2 ** (8 * j)));\n            if (char != 0) {\n                bytesString[j] = char;\n            }\n        }\n        return string(bytesString);\n    }\n\n    function calcDealBytes(bytes32 branch, address forkonomicToken, int balanceChange, int compensation) \n    public returns(bytes32) {\n        bytes32 deal = keccak256(abi.encodePacked(branch, forkonomicToken, balanceChange, compensation, msg.sender));\n        return deal;\n    }\n}",
  "sourcePath": "/home/josojo/reality/subjectivocracy/contracts/ForkonomicETTF.sol",
  "ast": {
    "absolutePath": "/home/josojo/reality/subjectivocracy/contracts/ForkonomicETTF.sol",
    "exportedSymbols": {
      "ForkonomicETTF": [
        896
      ]
    },
    "id": 897,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 296,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".22"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:1"
      },
      {
        "absolutePath": "/home/josojo/reality/subjectivocracy/contracts/ForkonomicToken.sol",
        "file": "./ForkonomicToken.sol",
        "id": 297,
        "nodeType": "ImportDirective",
        "scope": 897,
        "sourceUnit": 2263,
        "src": "26:31:1",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "file": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "id": 298,
        "nodeType": "ImportDirective",
        "scope": 897,
        "sourceUnit": 4742,
        "src": "58:69:1",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/josojo/reality/subjectivocracy/contracts/ForkonomicSystem.sol",
        "file": "./ForkonomicSystem.sol",
        "id": 299,
        "nodeType": "ImportDirective",
        "scope": 897,
        "sourceUnit": 1314,
        "src": "128:32:1",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 300,
              "name": "ForkonomicToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2262,
              "src": "190:15:1",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                "typeString": "contract ForkonomicToken"
              }
            },
            "id": 301,
            "nodeType": "InheritanceSpecifier",
            "src": "190:15:1"
          }
        ],
        "contractDependencies": [
          2262
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 896,
        "linearizedBaseContracts": [
          896,
          2262
        ],
        "name": "ForkonomicETTF",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 313,
            "name": "NewDealProposed",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 312,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 303,
                  "indexed": false,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "256:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 302,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "256:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 305,
                  "indexed": false,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "280:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 304,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "280:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 307,
                  "indexed": false,
                  "name": "balanceChange_",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "313:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 306,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "313:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 309,
                  "indexed": false,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "341:17:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 308,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "341:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 311,
                  "indexed": false,
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "368:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 310,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "368:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "246:137:1"
            },
            "src": "225:159:1"
          },
          {
            "constant": true,
            "id": 316,
            "name": "name",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "415:47:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 314,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "415:6:1",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "466f726b6f6e6f6d69637345545446",
              "id": 315,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "445:17:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_b31200dbe63df8543ac795b89e83ccc6e5c30227dafb0485c56931dff386d639",
                "typeString": "literal_string \"ForkonomicsETTF\""
              },
              "value": "ForkonomicsETTF"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 319,
            "name": "symbol",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "468:39:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 317,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "468:6:1",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4645545446",
              "id": 318,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "500:7:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_8be7f6f1521403d25fce58027d3b3dd06af4935e1134dedb71f1a73aa33d6fc0",
                "typeString": "literal_string \"FETTF\""
              },
              "value": "FETTF"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 322,
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "513:35:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 320,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "513:5:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 321,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "546:2:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 324,
            "name": "realityCheck",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "623:28:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Realitio_$4741",
              "typeString": "contract Realitio"
            },
            "typeName": {
              "contractScope": null,
              "id": 323,
              "name": "Realitio",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4741,
              "src": "623:8:1",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Realitio_$4741",
                "typeString": "contract Realitio"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 330,
            "name": "fundHoldingChange",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "691:68:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_int256_$_$",
              "typeString": "mapping(bytes32 => mapping(address => int256))"
            },
            "typeName": {
              "id": 329,
              "keyType": {
                "id": 325,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "699:7:1",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "691:43:1",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_int256_$_$",
                "typeString": "mapping(bytes32 => mapping(address => int256))"
              },
              "valueType": {
                "id": 328,
                "keyType": {
                  "id": 326,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "718:7:1",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "710:23:1",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_int256_$",
                  "typeString": "mapping(address => int256)"
                },
                "valueType": {
                  "id": 327,
                  "name": "int",
                  "nodeType": "ElementaryTypeName",
                  "src": "729:3:1",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  }
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 334,
            "name": "fETTFbalanceChange",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "800:49:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
              "typeString": "mapping(bytes32 => int256)"
            },
            "typeName": {
              "id": 333,
              "keyType": {
                "id": 331,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "808:7:1",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "800:23:1",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                "typeString": "mapping(bytes32 => int256)"
              },
              "valueType": {
                "id": 332,
                "name": "int",
                "nodeType": "ElementaryTypeName",
                "src": "819:3:1",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 337,
            "name": "templateId",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "861:27:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 335,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "861:7:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 336,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "887:1:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 340,
            "name": "minBond",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "894:35:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 338,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "894:7:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35303030303030303030",
              "id": 339,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "919:10:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_5000000000_by_1",
                "typeString": "int_const 5000000000"
              },
              "value": "5000000000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 343,
            "name": "minTimeout",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "935:30:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 341,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "935:6:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31303030",
              "id": 342,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "961:4:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000_by_1",
                "typeString": "int_const 1000"
              },
              "value": "1000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 345,
            "name": "openingTs",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "971:23:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 344,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "971:6:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 348,
            "name": "minQuestionFunding",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "1000:51:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 346,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1000:7:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35303030303030303030303030303030",
              "id": 347,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1035:16:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_5000000000000000_by_1",
                "typeString": "int_const 5000000000000000"
              },
              "value": "5000000000000000"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 366,
              "nodeType": "Block",
              "src": "1316:45:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 364,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 362,
                      "name": "realityCheck",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 324,
                      "src": "1326:12:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$4741",
                        "typeString": "contract Realitio"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 363,
                      "name": "realityCheck_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 350,
                      "src": "1341:13:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$4741",
                        "typeString": "contract Realitio"
                      }
                    },
                    "src": "1326:28:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$4741",
                      "typeString": "contract Realitio"
                    }
                  },
                  "id": 365,
                  "nodeType": "ExpressionStatement",
                  "src": "1326:28:1"
                }
              ]
            },
            "documentation": null,
            "id": 367,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 358,
                    "name": "fSystem_",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 352,
                    "src": "1285:8:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 359,
                    "name": "funding",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 355,
                    "src": "1295:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                      "typeString": "address[] memory"
                    }
                  }
                ],
                "id": 360,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 357,
                  "name": "ForkonomicToken",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2262,
                  "src": "1269:15:1",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                    "typeString": "type(contract ForkonomicToken)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1269:34:1"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 356,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 350,
                  "name": "realityCheck_",
                  "nodeType": "VariableDeclaration",
                  "scope": 367,
                  "src": "1172:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Realitio_$4741",
                    "typeString": "contract Realitio"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 349,
                    "name": "Realitio",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4741,
                    "src": "1172:8:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$4741",
                      "typeString": "contract Realitio"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 352,
                  "name": "fSystem_",
                  "nodeType": "VariableDeclaration",
                  "scope": 367,
                  "src": "1205:25:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                    "typeString": "contract ForkonomicSystem"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 351,
                    "name": "ForkonomicSystem",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1313,
                    "src": "1205:16:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 355,
                  "name": "funding",
                  "nodeType": "VariableDeclaration",
                  "scope": 367,
                  "src": "1240:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 353,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1240:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 354,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1240:10:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1162:102:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 361,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1316:0:1"
            },
            "scope": 896,
            "src": "1151:210:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 501,
              "nodeType": "Block",
              "src": "1688:1199:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 390,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 384,
                      "name": "openingTs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 345,
                      "src": "1725:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 388,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 386,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5395,
                            "src": "1744:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "3330",
                            "id": 387,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1750:7:1",
                            "subdenomination": "days",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_2592000_by_1",
                              "typeString": "int_const 2592000"
                            },
                            "value": "30"
                          },
                          "src": "1744:13:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 385,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1737:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint32_$",
                          "typeString": "type(uint32)"
                        },
                        "typeName": "uint32"
                      },
                      "id": 389,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1737:21:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "1725:33:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 391,
                  "nodeType": "ExpressionStatement",
                  "src": "1725:33:1"
                },
                {
                  "assignments": [
                    393
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 393,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 502,
                      "src": "1768:12:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 392,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "1768:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 405,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 397,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 369,
                            "src": "1810:6:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 398,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 371,
                            "src": "1818:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 399,
                            "name": "balanceChange",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 373,
                            "src": "1835:13:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 400,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 375,
                            "src": "1850:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 401,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5393,
                              "src": "1864:3:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 402,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1864:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 395,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "1793:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 396,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1793:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 403,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1793:82:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 394,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5387,
                      "src": "1783:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 404,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1783:93:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1768:108:1"
                },
                {
                  "assignments": [
                    407
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 407,
                      "name": "question",
                      "nodeType": "VariableDeclaration",
                      "scope": 502,
                      "src": "1886:22:1",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 406,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1886:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 420,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "46726f6d20616c6c206f666665727320666f72207468652066455454462c2074686520666f6c6c6f77696e67206465616c207761732074686520626573743a",
                            "id": 411,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1935:65:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            "value": "From all offers for the fETTF, the following deal was the best:"
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 414,
                                    "name": "deal",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 393,
                                    "src": "2026:4:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 413,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "2018:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes32_$",
                                    "typeString": "type(bytes32)"
                                  },
                                  "typeName": "bytes32"
                                },
                                "id": 415,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2018:13:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 412,
                              "name": "bytes32ToString",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 865,
                              "src": "2002:15:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes32) returns (string memory)"
                              }
                            },
                            "id": 416,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2002:30:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "3f",
                            "id": 417,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2034:3:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            },
                            "value": "?"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 409,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "1918:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 410,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1918:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 418,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1918:120:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 408,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1911:6:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 419,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1911:128:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1886:153:1"
                },
                {
                  "assignments": [
                    422
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 422,
                      "name": "questionId",
                      "nodeType": "VariableDeclaration",
                      "scope": 502,
                      "src": "2148:18:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 421,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2148:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 437,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 430,
                        "name": "templateId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 337,
                        "src": "2217:10:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 431,
                        "name": "question",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 407,
                        "src": "2229:8:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 432,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 377,
                        "src": "2239:10:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 433,
                        "name": "minTimeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 343,
                        "src": "2251:10:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 434,
                        "name": "openingTs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 345,
                        "src": "2263:9:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 435,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2274:1:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          },
                          "id": 428,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "hexValue": "35",
                            "id": 426,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2200:1:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_5_by_1",
                              "typeString": "int_const 5"
                            },
                            "value": "5"
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31303030303030303030303030",
                            "id": 427,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2202:13:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1000000000000_by_1",
                              "typeString": "int_const 1000000000000"
                            },
                            "value": "1000000000000"
                          },
                          "src": "2200:15:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 423,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 324,
                            "src": "2169:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$4741",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 424,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "askQuestion",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3364,
                          "src": "2169:24:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                          }
                        },
                        "id": 425,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2169:30:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$value_$",
                          "typeString": "function (uint256) returns (function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32))"
                        }
                      },
                      "id": 429,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2169:47:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$value",
                        "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                      }
                    },
                    "id": 436,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2169:107:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2148:128:1"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    },
                    "id": 440,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 438,
                      "name": "balanceChange",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 373,
                      "src": "2333:13:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 439,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2349:1:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2333:17:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 481,
                    "nodeType": "Block",
                    "src": "2541:121:1",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "id": 468,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 466,
                                "name": "compensation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 375,
                                "src": "2562:12:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 467,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2577:1:1",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "2562:16:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 465,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              5396,
                              5397
                            ],
                            "referencedDeclaration": 5396,
                            "src": "2554:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 469,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2554:25:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 470,
                        "nodeType": "ExpressionStatement",
                        "src": "2554:25:1"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 472,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5393,
                                "src": "2605:3:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 473,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "2605:10:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 474,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5422,
                              "src": "2617:4:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                "typeString": "contract ForkonomicETTF"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 476,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 375,
                                  "src": "2628:12:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                ],
                                "id": 475,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2623:4:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint"
                              },
                              "id": 477,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2623:18:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 478,
                              "name": "branch",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 369,
                              "src": "2643:6:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                "typeString": "contract ForkonomicETTF"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 471,
                            "name": "transferFrom",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1865,
                            "src": "2592:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                              "typeString": "function (address,address,uint256,bytes32) returns (bool)"
                            }
                          },
                          "id": 479,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2592:58:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 480,
                        "nodeType": "ExpressionStatement",
                        "src": "2592:58:1"
                      }
                    ]
                  },
                  "id": 482,
                  "nodeType": "IfStatement",
                  "src": "2329:333:1",
                  "trueBody": {
                    "id": 464,
                    "nodeType": "Block",
                    "src": "2352:183:1",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "id": 444,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 442,
                                "name": "compensation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 375,
                                "src": "2374:12:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 443,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2389:1:1",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "2374:16:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 441,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              5396,
                              5397
                            ],
                            "referencedDeclaration": 5396,
                            "src": "2366:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 445,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2366:25:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 446,
                        "nodeType": "ExpressionStatement",
                        "src": "2366:25:1"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 452,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5393,
                                    "src": "2462:3:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 453,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "2462:10:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 454,
                                  "name": "this",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5422,
                                  "src": "2474:4:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                    "typeString": "contract ForkonomicETTF"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 456,
                                      "name": "balanceChange",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 373,
                                      "src": "2485:13:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      }
                                    ],
                                    "id": 455,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "2480:4:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_uint256_$",
                                      "typeString": "type(uint256)"
                                    },
                                    "typeName": "uint"
                                  },
                                  "id": 457,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2480:19:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 458,
                                  "name": "branch",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 369,
                                  "src": "2501:6:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 459,
                                  "name": "fromBox",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 379,
                                  "src": "2509:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 460,
                                  "name": "deal",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 393,
                                  "src": "2518:4:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                    "typeString": "contract ForkonomicETTF"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 449,
                                      "name": "forkonomicToken",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 371,
                                      "src": "2429:15:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 448,
                                    "name": "ForkonomicToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2262,
                                    "src": "2413:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                      "typeString": "type(contract ForkonomicToken)"
                                    }
                                  },
                                  "id": 450,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2413:32:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                    "typeString": "contract ForkonomicToken"
                                  }
                                },
                                "id": 451,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "boxTransferFrom",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2023,
                                "src": "2413:48:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (address,address,uint256,bytes32,bytes32,bytes32) external returns (bool)"
                                }
                              },
                              "id": 461,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2413:110:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 447,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              5396,
                              5397
                            ],
                            "referencedDeclaration": 5396,
                            "src": "2405:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 462,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2405:119:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 463,
                        "nodeType": "ExpressionStatement",
                        "src": "2405:119:1"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 487,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 484,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5393,
                            "src": "2724:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 485,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2724:9:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 486,
                          "name": "minQuestionFunding",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 348,
                          "src": "2737:18:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2724:31:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 483,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5396,
                      "src": "2716:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 488,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2716:40:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 489,
                  "nodeType": "ExpressionStatement",
                  "src": "2716:40:1"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 491,
                        "name": "branch",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 369,
                        "src": "2788:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 492,
                        "name": "forkonomicToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 371,
                        "src": "2796:15:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 493,
                        "name": "balanceChange",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 373,
                        "src": "2813:13:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 494,
                        "name": "compensation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 375,
                        "src": "2828:12:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 495,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5393,
                          "src": "2842:3:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 496,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2842:10:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 490,
                      "name": "NewDealProposed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 313,
                      "src": "2772:15:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_int256_$_t_int256_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address,int256,int256,address)"
                      }
                    },
                    "id": 497,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2772:81:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 498,
                  "nodeType": "EmitStatement",
                  "src": "2767:86:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 499,
                    "name": "questionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 422,
                    "src": "2870:10:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 383,
                  "id": 500,
                  "nodeType": "Return",
                  "src": "2863:17:1"
                }
              ]
            },
            "documentation": null,
            "id": 502,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "proposeInvestment",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 380,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 369,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1536:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 368,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1536:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 371,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1552:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 370,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1552:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 373,
                  "name": "balanceChange",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1577:17:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 372,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1577:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 375,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1596:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 374,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1596:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 377,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1614:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 376,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1614:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 379,
                  "name": "fromBox",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1634:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 378,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1634:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1535:115:1"
            },
            "payable": true,
            "returnParameters": {
              "id": 383,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 382,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1679:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 381,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1679:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1678:9:1"
            },
            "scope": 896,
            "src": "1509:1378:1",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 709,
              "nodeType": "Block",
              "src": "3214:2519:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 524,
                            "name": "originalbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 508,
                            "src": "3327:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 525,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 506,
                            "src": "3343:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 522,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1388,
                            "src": "3302:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 523,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isFatherOfBranch",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1312,
                          "src": "3302:24:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 526,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3302:57:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "206272616e6368206973206e6f742061206368696c64206f66206f726967696e616c206272616e6368",
                        "id": 527,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3361:43:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_46ebfa022c3b924ef02ec8a758dfe75f447dfde9369dc8a4799c9037a84d2ffe",
                          "typeString": "literal_string \" branch is not a child of original branch\""
                        },
                        "value": " branch is not a child of original branch"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_46ebfa022c3b924ef02ec8a758dfe75f447dfde9369dc8a4799c9037a84d2ffe",
                          "typeString": "literal_string \" branch is not a child of original branch\""
                        }
                      ],
                      "id": 521,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5397,
                      "src": "3294:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 528,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3294:111:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 529,
                  "nodeType": "ExpressionStatement",
                  "src": "3294:111:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 533,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 516,
                            "src": "3507:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 534,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 506,
                            "src": "3519:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 531,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1388,
                            "src": "3475:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 532,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isArbitratorWhitelisted",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1195,
                          "src": "3475:31:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 535,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3475:60:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206973206e6f742077686974652d6c6973746564",
                        "id": 536,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3537:32:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f84fd87c92ae620f7831938d14e18b2a487699f26b9d25a68929007d7cb502c6",
                          "typeString": "literal_string \"arbitrator is not white-listed\""
                        },
                        "value": "arbitrator is not white-listed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f84fd87c92ae620f7831938d14e18b2a487699f26b9d25a68929007d7cb502c6",
                          "typeString": "literal_string \"arbitrator is not white-listed\""
                        }
                      ],
                      "id": 530,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5397,
                      "src": "3467:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 537,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3467:103:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 538,
                  "nodeType": "ExpressionStatement",
                  "src": "3467:103:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 544,
                                "name": "questionId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 504,
                                "src": "3647:10:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 542,
                                "name": "realityCheck",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 324,
                                "src": "3620:12:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Realitio_$4741",
                                  "typeString": "contract Realitio"
                                }
                              },
                              "id": 543,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getFinalizeTS",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4675,
                              "src": "3620:26:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint32_$",
                                "typeString": "function (bytes32) view external returns (uint32)"
                              }
                            },
                            "id": 545,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3620:38:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 546,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 506,
                            "src": "3660:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 540,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1388,
                            "src": "3589:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 541,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isBranchCreatedAfterTS",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1258,
                          "src": "3589:30:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (uint256,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 547,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3589:87:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "77696e646f77202b2074696d6520206973206e6f7420636f7272656374",
                        "id": 548,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3678:31:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_df287d9abd71b3487296293693b54ca7fcab91d1b10e393da43053b7747e0814",
                          "typeString": "literal_string \"window + time  is not correct\""
                        },
                        "value": "window + time  is not correct"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_df287d9abd71b3487296293693b54ca7fcab91d1b10e393da43053b7747e0814",
                          "typeString": "literal_string \"window + time  is not correct\""
                        }
                      ],
                      "id": 539,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5397,
                      "src": "3581:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 549,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3581:129:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 550,
                  "nodeType": "ExpressionStatement",
                  "src": "3581:129:1"
                },
                {
                  "assignments": [
                    552
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 552,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 710,
                      "src": "3761:12:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 551,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "3761:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 564,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 556,
                            "name": "originalbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 508,
                            "src": "3803:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 557,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 510,
                            "src": "3819:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 558,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 512,
                            "src": "3836:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 559,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 514,
                            "src": "3852:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 560,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5393,
                              "src": "3866:3:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 561,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3866:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 554,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "3786:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 555,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3786:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 562,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3786:91:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 553,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5387,
                      "src": "3776:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 563,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3776:102:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3761:117:1"
                },
                {
                  "assignments": [
                    566
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 566,
                      "name": "question",
                      "nodeType": "VariableDeclaration",
                      "scope": 710,
                      "src": "3888:22:1",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 565,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3888:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 579,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "46726f6d20616c6c206f666665727320666f72207468652066455454462c2074686520666f6c6c6f77696e67206465616c207761732074686520626573743a",
                            "id": 570,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3937:65:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            "value": "From all offers for the fETTF, the following deal was the best:"
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 573,
                                    "name": "deal",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 552,
                                    "src": "4028:4:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 572,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "4020:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes32_$",
                                    "typeString": "type(bytes32)"
                                  },
                                  "typeName": "bytes32"
                                },
                                "id": 574,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4020:13:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 571,
                              "name": "bytes32ToString",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 865,
                              "src": "4004:15:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes32) returns (string memory)"
                              }
                            },
                            "id": 575,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4004:30:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "3f",
                            "id": 576,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4036:3:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            },
                            "value": "?"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 568,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "3920:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 569,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3920:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 577,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3920:120:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 567,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "3913:6:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 578,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3913:128:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3888:153:1"
                },
                {
                  "assignments": [
                    581
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 581,
                      "name": "contentHash",
                      "nodeType": "VariableDeclaration",
                      "scope": 710,
                      "src": "4051:19:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 580,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4051:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 590,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 585,
                            "name": "templateId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 337,
                            "src": "4100:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 586,
                            "name": "openingTs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 345,
                            "src": "4112:9:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 587,
                            "name": "question",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 566,
                            "src": "4123:8:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 583,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "4083:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 584,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4083:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 588,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4083:49:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 582,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5387,
                      "src": "4073:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 589,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4073:60:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4051:82:1"
                },
                {
                  "assignments": [
                    592
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 592,
                      "name": "ans",
                      "nodeType": "VariableDeclaration",
                      "scope": 710,
                      "src": "4148:8:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 591,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4148:4:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 603,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 596,
                            "name": "questionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 504,
                            "src": "4201:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 597,
                            "name": "contentHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 581,
                            "src": "4213:11:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 598,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 516,
                            "src": "4226:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 599,
                            "name": "minTimeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 343,
                            "src": "4238:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 600,
                            "name": "minBond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 340,
                            "src": "4250:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 594,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 324,
                            "src": "4164:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$4741",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 595,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getFinalAnswerIfMatches",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4047,
                          "src": "4164:36:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (bytes32,bytes32,address,uint32,uint256) view external returns (bytes32)"
                          }
                        },
                        "id": 601,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4164:94:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 593,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "4159:4:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint256_$",
                        "typeString": "type(uint256)"
                      },
                      "typeName": "uint"
                    },
                    "id": 602,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4159:100:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4148:111:1"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 606,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 604,
                      "name": "ans",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 592,
                      "src": "4546:3:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 605,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4553:1:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4546:8:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 707,
                    "nodeType": "Block",
                    "src": "4918:809:1",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 643,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 641,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 512,
                            "src": "5018:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 642,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5035:1:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5018:18:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 705,
                          "nodeType": "Block",
                          "src": "5430:287:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 690,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 5393,
                                          "src": "5582:3:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 691,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "5582:10:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 693,
                                            "name": "balanceChange_",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 512,
                                            "src": "5599:14:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 692,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "5594:4:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 694,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5594:20:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 695,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 506,
                                        "src": "5616:15:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 687,
                                            "name": "forkonomicToken",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 510,
                                            "src": "5556:15:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 686,
                                          "name": "ForkonomicToken",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 2262,
                                          "src": "5540:15:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                            "typeString": "type(contract ForkonomicToken)"
                                          }
                                        },
                                        "id": 688,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5540:32:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                          "typeString": "contract ForkonomicToken"
                                        }
                                      },
                                      "id": 689,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "transfer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 1730,
                                      "src": "5540:41:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32) external returns (bool)"
                                      }
                                    },
                                    "id": 696,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5540:92:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 685,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5396,
                                    5397
                                  ],
                                  "referencedDeclaration": 5396,
                                  "src": "5532:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 697,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5532:101:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 698,
                              "nodeType": "ExpressionStatement",
                              "src": "5532:101:1"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 703,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 699,
                                    "name": "fETTFbalanceChange",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 334,
                                    "src": "5651:18:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 701,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 700,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 506,
                                    "src": "5670:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5651:35:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 702,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 514,
                                  "src": "5690:12:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5651:51:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 704,
                              "nodeType": "ExpressionStatement",
                              "src": "5651:51:1"
                            }
                          ]
                        },
                        "id": 706,
                        "nodeType": "IfStatement",
                        "src": "5014:703:1",
                        "trueBody": {
                          "id": 684,
                          "nodeType": "Block",
                          "src": "5038:386:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 652,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "UnaryOperation",
                                    "operator": "!",
                                    "prefix": true,
                                    "src": "5064:73:1",
                                    "subExpression": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 646,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5393,
                                            "src": "5082:3:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_message",
                                              "typeString": "msg"
                                            }
                                          },
                                          "id": 647,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "sender",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "5082:10:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 648,
                                          "name": "NULL_HASH",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1360,
                                          "src": "5094:9:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 649,
                                          "name": "executionbranch",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 506,
                                          "src": "5105:15:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 650,
                                          "name": "originalbranch",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 508,
                                          "src": "5122:14:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        ],
                                        "id": 645,
                                        "name": "hasBoxWithdrawal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2141,
                                        "src": "5065:16:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                          "typeString": "function (address,bytes32,bytes32,bytes32) view returns (bool)"
                                        }
                                      },
                                      "id": 651,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5065:72:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 644,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5396,
                                    5397
                                  ],
                                  "referencedDeclaration": 5396,
                                  "src": "5056:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 653,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5056:82:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 654,
                              "nodeType": "ExpressionStatement",
                              "src": "5056:82:1"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 668,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 655,
                                      "name": "balanceChange",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1366,
                                      "src": "5157:13:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_int256_$_$",
                                        "typeString": "mapping(bytes32 => mapping(bytes32 => int256))"
                                      }
                                    },
                                    "id": 665,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 656,
                                      "name": "executionbranch",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 506,
                                      "src": "5171:15:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5157:30:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 666,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "expression": {
                                              "argumentTypes": null,
                                              "id": 660,
                                              "name": "msg",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 5393,
                                              "src": "5215:3:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                              }
                                            },
                                            "id": 661,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "5215:10:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          },
                                          {
                                            "argumentTypes": null,
                                            "id": 662,
                                            "name": "NULL_HASH",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1360,
                                            "src": "5227:9:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            },
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 658,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5380,
                                            "src": "5198:3:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 659,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberName": "encodePacked",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "5198:16:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 663,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5198:39:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 657,
                                      "name": "keccak256",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5387,
                                      "src": "5188:9:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                        "typeString": "function () pure returns (bytes32)"
                                      }
                                    },
                                    "id": 664,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5188:50:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5157:82:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 667,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 514,
                                  "src": "5243:12:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5157:98:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 669,
                              "nodeType": "ExpressionStatement",
                              "src": "5157:98:1"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 674,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 670,
                                    "name": "fETTFbalanceChange",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 334,
                                    "src": "5273:18:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 672,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 671,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 506,
                                    "src": "5292:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5273:35:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 673,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 514,
                                  "src": "5312:12:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5273:51:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 675,
                              "nodeType": "ExpressionStatement",
                              "src": "5273:51:1"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 677,
                                    "name": "NULL_HASH",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1360,
                                    "src": "5362:9:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 679,
                                        "name": "compensation",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 514,
                                        "src": "5378:12:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "id": 678,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "5373:4:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 680,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5373:18:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 681,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 506,
                                    "src": "5393:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 676,
                                  "name": "recordBoxWithdrawal",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2088,
                                  "src": "5342:19:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                    "typeString": "function (bytes32,uint256,bytes32) returns (bool)"
                                  }
                                },
                                "id": 682,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5342:67:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "id": 683,
                              "nodeType": "ExpressionStatement",
                              "src": "5342:67:1"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 708,
                  "nodeType": "IfStatement",
                  "src": "4542:1185:1",
                  "trueBody": {
                    "id": 640,
                    "nodeType": "Block",
                    "src": "4556:356:1",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 609,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 607,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 512,
                            "src": "4625:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 608,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4642:1:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4625:18:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 638,
                          "nodeType": "Block",
                          "src": "4803:99:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 629,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 5393,
                                          "src": "4838:3:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 630,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4838:10:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 632,
                                            "name": "compensation",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 514,
                                            "src": "4855:12:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 631,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "4850:4:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 633,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4850:18:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 634,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 506,
                                        "src": "4870:15:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 628,
                                      "name": "transfer",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1730,
                                      "src": "4829:8:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32) returns (bool)"
                                      }
                                    },
                                    "id": 635,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4829:57:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 627,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5396,
                                    5397
                                  ],
                                  "referencedDeclaration": 5396,
                                  "src": "4821:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 636,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4821:66:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 637,
                              "nodeType": "ExpressionStatement",
                              "src": "4821:66:1"
                            }
                          ]
                        },
                        "id": 639,
                        "nodeType": "IfStatement",
                        "src": "4621:281:1",
                        "trueBody": {
                          "id": 626,
                          "nodeType": "Block",
                          "src": "4645:152:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 615,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 5393,
                                          "src": "4716:3:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 616,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4716:10:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 618,
                                            "name": "balanceChange_",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 512,
                                            "src": "4733:14:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 617,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "4728:4:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 619,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4728:20:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 620,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 506,
                                        "src": "4750:15:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 621,
                                        "name": "deal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 552,
                                        "src": "4767:4:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 622,
                                        "name": "fromBox",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 518,
                                        "src": "4773:7:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 612,
                                            "name": "forkonomicToken",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 510,
                                            "src": "4687:15:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 611,
                                          "name": "ForkonomicToken",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 2262,
                                          "src": "4671:15:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                            "typeString": "type(contract ForkonomicToken)"
                                          }
                                        },
                                        "id": 613,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4671:32:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                          "typeString": "contract ForkonomicToken"
                                        }
                                      },
                                      "id": 614,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "boxTransfer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 1842,
                                      "src": "4671:44:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32,bytes32,bytes32) external returns (bool)"
                                      }
                                    },
                                    "id": 623,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4671:110:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 610,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5396,
                                    5397
                                  ],
                                  "referencedDeclaration": 5396,
                                  "src": "4663:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 624,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4663:119:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 625,
                              "nodeType": "ExpressionStatement",
                              "src": "4663:119:1"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 710,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "executeInvestmentRequest",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 504,
                  "name": "questionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3034:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 503,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3034:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 506,
                  "name": "executionbranch",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3054:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 505,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3054:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 508,
                  "name": "originalbranch",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3079:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 507,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3079:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 510,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3103:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 509,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3103:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 512,
                  "name": "balanceChange_",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3128:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 511,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "3128:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 514,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3148:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 513,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "3148:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 516,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3166:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 515,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3166:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 518,
                  "name": "fromBox",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3186:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 517,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3186:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3033:169:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 520,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3214:0:1"
            },
            "scope": 896,
            "src": "3000:2733:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 805,
              "nodeType": "Block",
              "src": "5840:980:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 722,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5393,
                              "src": "5930:3:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 723,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "5930:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 724,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5422,
                            "src": "5942:4:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                              "typeString": "contract ForkonomicETTF"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 725,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 714,
                            "src": "5948:6:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 726,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 712,
                            "src": "5956:6:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                              "typeString": "contract ForkonomicETTF"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 721,
                          "name": "transferFrom",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1865,
                          "src": "5917:12:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,address,uint256,bytes32) returns (bool)"
                          }
                        },
                        "id": 727,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5917:46:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7472616e7366657220646964206e6f74207061737320696e2072656465656d5265616c69747946756e64546f6b656e73",
                        "id": 728,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5965:50:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c9cafcc2c7a4a2876bdd754fd2d86865e34be4b3c0690404635b83c341ff2563",
                          "typeString": "literal_string \"transfer did not pass in redeemRealityFundTokens\""
                        },
                        "value": "transfer did not pass in redeemRealityFundTokens"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c9cafcc2c7a4a2876bdd754fd2d86865e34be4b3c0690404635b83c341ff2563",
                          "typeString": "literal_string \"transfer did not pass in redeemRealityFundTokens\""
                        }
                      ],
                      "id": 720,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5397,
                      "src": "5909:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 729,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5909:107:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 730,
                  "nodeType": "ExpressionStatement",
                  "src": "5909:107:1"
                },
                {
                  "assignments": [
                    732
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 732,
                      "name": "amountOutstandingETTFToken",
                      "nodeType": "VariableDeclaration",
                      "scope": 806,
                      "src": "6101:33:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 731,
                        "name": "int256",
                        "nodeType": "ElementaryTypeName",
                        "src": "6101:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 734,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 733,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "6137:1:1",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6101:37:1"
                },
                {
                  "assignments": [
                    736
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 736,
                      "name": "hashIteration",
                      "nodeType": "VariableDeclaration",
                      "scope": 806,
                      "src": "6148:21:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 735,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "6148:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 738,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 737,
                    "name": "branch",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 712,
                    "src": "6172:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6148:30:1"
                },
                {
                  "body": {
                    "id": 757,
                    "nodeType": "Block",
                    "src": "6241:157:1",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 748,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 744,
                            "name": "amountOutstandingETTFToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 732,
                            "src": "6255:26:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 745,
                              "name": "fETTFbalanceChange",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 334,
                              "src": "6285:18:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                "typeString": "mapping(bytes32 => int256)"
                              }
                            },
                            "id": 747,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 746,
                              "name": "hashIteration",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 736,
                              "src": "6304:13:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6285:33:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "6255:63:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "id": 749,
                        "nodeType": "ExpressionStatement",
                        "src": "6255:63:1"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 755,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 750,
                            "name": "hashIteration",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 736,
                            "src": "6332:13:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 753,
                                "name": "hashIteration",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 736,
                                "src": "6373:13:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 751,
                                "name": "fSystem",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1388,
                                "src": "6348:7:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                                  "typeString": "contract ForkonomicSystem"
                                }
                              },
                              "id": 752,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "branchParentHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 920,
                              "src": "6348:24:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$",
                                "typeString": "function (bytes32) view external returns (bytes32)"
                              }
                            },
                            "id": 754,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6348:39:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "6332:55:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 756,
                        "nodeType": "ExpressionStatement",
                        "src": "6332:55:1"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 743,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 739,
                      "name": "hashIteration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 736,
                      "src": "6195:13:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 740,
                          "name": "fSystem",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1388,
                          "src": "6212:7:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                            "typeString": "contract ForkonomicSystem"
                          }
                        },
                        "id": 741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "genesisBranchHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 942,
                        "src": "6212:25:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                          "typeString": "function () view external returns (bytes32)"
                        }
                      },
                      "id": 742,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6212:27:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "6195:44:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 758,
                  "nodeType": "WhileStatement",
                  "src": "6188:210:1"
                },
                {
                  "body": {
                    "id": 803,
                    "nodeType": "Block",
                    "src": "6499:314:1",
                    "statements": [
                      {
                        "assignments": [
                          771
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 771,
                            "name": "holdings",
                            "nodeType": "VariableDeclaration",
                            "scope": 806,
                            "src": "6513:16:1",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 770,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "6513:7:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 781,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 778,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5422,
                              "src": "6579:4:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                "typeString": "contract ForkonomicETTF"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 779,
                              "name": "branch",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 712,
                              "src": "6585:6:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                "typeString": "contract ForkonomicETTF"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 773,
                                    "name": "forkonomicTokens",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 717,
                                    "src": "6548:16:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                      "typeString": "address[] memory"
                                    }
                                  },
                                  "id": 775,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 774,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 760,
                                    "src": "6565:1:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6548:19:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 772,
                                "name": "ForkonomicToken",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2262,
                                "src": "6532:15:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                  "typeString": "type(contract ForkonomicToken)"
                                }
                              },
                              "id": 776,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6532:36:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                "typeString": "contract ForkonomicToken"
                              }
                            },
                            "id": 777,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "balanceOf",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1614,
                            "src": "6532:46:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_uint256_$",
                              "typeString": "function (address,bytes32) view external returns (uint256)"
                            }
                          },
                          "id": 780,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6532:60:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6513:79:1"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 789,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5393,
                                    "src": "6688:3:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 790,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "6688:10:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 797,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 793,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 791,
                                      "name": "amount",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 714,
                                      "src": "6700:6:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "*",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 792,
                                      "name": "holdings",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 771,
                                      "src": "6709:8:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "6700:17:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "/",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 795,
                                        "name": "amountOutstandingETTFToken",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 732,
                                        "src": "6725:26:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "id": 794,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6720:4:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 796,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6720:32:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "6700:52:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 798,
                                  "name": "branch",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 712,
                                  "src": "6754:6:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 784,
                                        "name": "forkonomicTokens",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 717,
                                        "src": "6658:16:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                          "typeString": "address[] memory"
                                        }
                                      },
                                      "id": 786,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 785,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 760,
                                        "src": "6675:1:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "6658:19:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 783,
                                    "name": "ForkonomicToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2262,
                                    "src": "6642:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                      "typeString": "type(contract ForkonomicToken)"
                                    }
                                  },
                                  "id": 787,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6642:36:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                    "typeString": "contract ForkonomicToken"
                                  }
                                },
                                "id": 788,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "transfer",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1730,
                                "src": "6642:45:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (address,uint256,bytes32) external returns (bool)"
                                }
                              },
                              "id": 799,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6642:119:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "7472616e73666572206f662066756e647320776173206e6f74207375636365737366756c",
                              "id": 800,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6763:38:1",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_4d57f05af38d42c763154549bbe68cb7872363b49ac7b19db4dfa53158ffc2eb",
                                "typeString": "literal_string \"transfer of funds was not successful\""
                              },
                              "value": "transfer of funds was not successful"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_4d57f05af38d42c763154549bbe68cb7872363b49ac7b19db4dfa53158ffc2eb",
                                "typeString": "literal_string \"transfer of funds was not successful\""
                              }
                            ],
                            "id": 782,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              5396,
                              5397
                            ],
                            "referencedDeclaration": 5397,
                            "src": "6634:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 801,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6634:168:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 802,
                        "nodeType": "ExpressionStatement",
                        "src": "6634:168:1"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 766,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 763,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 760,
                      "src": "6465:1:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 764,
                        "name": "forkonomicTokens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 717,
                        "src": "6469:16:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 765,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6469:23:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6465:27:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 804,
                  "initializationExpression": {
                    "assignments": [
                      760
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 760,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 806,
                        "src": "6455:6:1",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 759,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6455:4:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 762,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 761,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6462:1:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6455:8:1"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 768,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6494:3:1",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 767,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 760,
                        "src": "6494:1:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 769,
                    "nodeType": "ExpressionStatement",
                    "src": "6494:3:1"
                  },
                  "nodeType": "ForStatement",
                  "src": "6450:363:1"
                }
              ]
            },
            "documentation": null,
            "id": 806,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "redeemRealityFundTokens",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 718,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 712,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 806,
                  "src": "5775:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 711,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5775:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 714,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 806,
                  "src": "5791:11:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 713,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5791:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 717,
                  "name": "forkonomicTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 806,
                  "src": "5804:27:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 715,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5804:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 716,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5804:10:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5774:58:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 719,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5840:0:1"
            },
            "scope": 896,
            "src": "5742:1078:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 864,
              "nodeType": "Block",
              "src": "6890:289:1",
              "statements": [
                {
                  "assignments": [
                    814
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 814,
                      "name": "bytesString",
                      "nodeType": "VariableDeclaration",
                      "scope": 865,
                      "src": "6900:24:1",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 813,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6900:5:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 819,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "3332",
                        "id": 817,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6937:2:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_32_by_1",
                          "typeString": "int_const 32"
                        },
                        "value": "32"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_32_by_1",
                          "typeString": "int_const 32"
                        }
                      ],
                      "id": 816,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "6927:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
                        "typeString": "function (uint256) pure returns (bytes memory)"
                      },
                      "typeName": {
                        "id": 815,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6931:5:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      }
                    },
                    "id": 818,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6927:13:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6900:40:1"
                },
                {
                  "body": {
                    "id": 858,
                    "nodeType": "Block",
                    "src": "6978:159:1",
                    "statements": [
                      {
                        "assignments": [
                          831
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 831,
                            "name": "char",
                            "nodeType": "VariableDeclaration",
                            "scope": 865,
                            "src": "6992:9:1",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            },
                            "typeName": {
                              "id": 830,
                              "name": "byte",
                              "nodeType": "ElementaryTypeName",
                              "src": "6992:4:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes1",
                                "typeString": "bytes1"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 846,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 843,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 835,
                                        "name": "data",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 808,
                                        "src": "7022:4:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 834,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "7017:4:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 836,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7017:10:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "*",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 842,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "hexValue": "32",
                                      "id": 837,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "7030:1:1",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_2_by_1",
                                        "typeString": "int_const 2"
                                      },
                                      "value": "2"
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "**",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "components": [
                                        {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "id": 840,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "38",
                                            "id": 838,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "7036:1:1",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_8_by_1",
                                              "typeString": "int_const 8"
                                            },
                                            "value": "8"
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "*",
                                          "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 839,
                                            "name": "j",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 821,
                                            "src": "7040:1:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "src": "7036:5:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "id": 841,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "TupleExpression",
                                      "src": "7035:7:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "7030:12:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "7017:25:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 833,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "7009:7:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes32_$",
                                  "typeString": "type(bytes32)"
                                },
                                "typeName": "bytes32"
                              },
                              "id": 844,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "7009:34:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 832,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "7004:4:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes1_$",
                              "typeString": "type(bytes1)"
                            },
                            "typeName": "byte"
                          },
                          "id": 845,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7004:40:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6992:52:1"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          },
                          "id": 849,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 847,
                            "name": "char",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 831,
                            "src": "7062:4:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 848,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7070:1:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "7062:9:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 857,
                        "nodeType": "IfStatement",
                        "src": "7058:69:1",
                        "trueBody": {
                          "id": 856,
                          "nodeType": "Block",
                          "src": "7073:54:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 854,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 850,
                                    "name": "bytesString",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 814,
                                    "src": "7091:11:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 852,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 851,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 821,
                                    "src": "7103:1:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "7091:14:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes1",
                                    "typeString": "bytes1"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 853,
                                  "name": "char",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 831,
                                  "src": "7108:4:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes1",
                                    "typeString": "bytes1"
                                  }
                                },
                                "src": "7091:21:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes1",
                                  "typeString": "bytes1"
                                }
                              },
                              "id": 855,
                              "nodeType": "ExpressionStatement",
                              "src": "7091:21:1"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 824,
                      "name": "j",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 821,
                      "src": "6965:1:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "3332",
                      "id": 825,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6969:2:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_32_by_1",
                        "typeString": "int_const 32"
                      },
                      "value": "32"
                    },
                    "src": "6965:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 859,
                  "initializationExpression": {
                    "assignments": [
                      821
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 821,
                        "name": "j",
                        "nodeType": "VariableDeclaration",
                        "scope": 865,
                        "src": "6955:6:1",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 820,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6955:4:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 823,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 822,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6962:1:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6955:8:1"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 828,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6973:3:1",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 827,
                        "name": "j",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 821,
                        "src": "6973:1:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 829,
                    "nodeType": "ExpressionStatement",
                    "src": "6973:3:1"
                  },
                  "nodeType": "ForStatement",
                  "src": "6950:187:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 861,
                        "name": "bytesString",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 814,
                        "src": "7160:11:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 860,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "7153:6:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 862,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7153:19:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 812,
                  "id": 863,
                  "nodeType": "Return",
                  "src": "7146:26:1"
                }
              ]
            },
            "documentation": null,
            "id": 865,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "bytes32ToString",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 809,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 808,
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "scope": 865,
                  "src": "6852:12:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 807,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6852:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6851:14:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 812,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 811,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 865,
                  "src": "6882:6:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 810,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6882:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6881:8:1"
            },
            "scope": 896,
            "src": "6826:353:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 894,
              "nodeType": "Block",
              "src": "7315:146:1",
              "statements": [
                {
                  "assignments": [
                    879
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 879,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 895,
                      "src": "7325:12:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 878,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "7325:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 891,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 883,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 867,
                            "src": "7367:6:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 884,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 869,
                            "src": "7375:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 885,
                            "name": "balanceChange",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 871,
                            "src": "7392:13:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 886,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 873,
                            "src": "7407:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 887,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5393,
                              "src": "7421:3:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 888,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "7421:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 881,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "7350:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 882,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7350:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 889,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7350:82:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 880,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5387,
                      "src": "7340:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 890,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7340:93:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7325:108:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 892,
                    "name": "deal",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 879,
                    "src": "7450:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 877,
                  "id": 893,
                  "nodeType": "Return",
                  "src": "7443:11:1"
                }
              ]
            },
            "documentation": null,
            "id": 895,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "calcDealBytes",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 874,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 867,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7208:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 866,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7208:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 869,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7224:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 868,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7224:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 871,
                  "name": "balanceChange",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7249:17:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 870,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "7249:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 873,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7268:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 872,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "7268:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7207:78:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 877,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 876,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7306:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 875,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7306:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7305:9:1"
            },
            "scope": 896,
            "src": "7185:276:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 897,
        "src": "163:7300:1"
      }
    ],
    "src": "0:7463:1"
  },
  "legacyAST": {
    "absolutePath": "/home/josojo/reality/subjectivocracy/contracts/ForkonomicETTF.sol",
    "exportedSymbols": {
      "ForkonomicETTF": [
        896
      ]
    },
    "id": 897,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 296,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".22"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:1"
      },
      {
        "absolutePath": "/home/josojo/reality/subjectivocracy/contracts/ForkonomicToken.sol",
        "file": "./ForkonomicToken.sol",
        "id": 297,
        "nodeType": "ImportDirective",
        "scope": 897,
        "sourceUnit": 2263,
        "src": "26:31:1",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "file": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "id": 298,
        "nodeType": "ImportDirective",
        "scope": 897,
        "sourceUnit": 4742,
        "src": "58:69:1",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/josojo/reality/subjectivocracy/contracts/ForkonomicSystem.sol",
        "file": "./ForkonomicSystem.sol",
        "id": 299,
        "nodeType": "ImportDirective",
        "scope": 897,
        "sourceUnit": 1314,
        "src": "128:32:1",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 300,
              "name": "ForkonomicToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2262,
              "src": "190:15:1",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                "typeString": "contract ForkonomicToken"
              }
            },
            "id": 301,
            "nodeType": "InheritanceSpecifier",
            "src": "190:15:1"
          }
        ],
        "contractDependencies": [
          2262
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 896,
        "linearizedBaseContracts": [
          896,
          2262
        ],
        "name": "ForkonomicETTF",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 313,
            "name": "NewDealProposed",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 312,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 303,
                  "indexed": false,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "256:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 302,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "256:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 305,
                  "indexed": false,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "280:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 304,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "280:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 307,
                  "indexed": false,
                  "name": "balanceChange_",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "313:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 306,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "313:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 309,
                  "indexed": false,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "341:17:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 308,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "341:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 311,
                  "indexed": false,
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "scope": 313,
                  "src": "368:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 310,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "368:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "246:137:1"
            },
            "src": "225:159:1"
          },
          {
            "constant": true,
            "id": 316,
            "name": "name",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "415:47:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 314,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "415:6:1",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "466f726b6f6e6f6d69637345545446",
              "id": 315,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "445:17:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_b31200dbe63df8543ac795b89e83ccc6e5c30227dafb0485c56931dff386d639",
                "typeString": "literal_string \"ForkonomicsETTF\""
              },
              "value": "ForkonomicsETTF"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 319,
            "name": "symbol",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "468:39:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 317,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "468:6:1",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4645545446",
              "id": 318,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "500:7:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_8be7f6f1521403d25fce58027d3b3dd06af4935e1134dedb71f1a73aa33d6fc0",
                "typeString": "literal_string \"FETTF\""
              },
              "value": "FETTF"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 322,
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "513:35:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 320,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "513:5:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 321,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "546:2:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 324,
            "name": "realityCheck",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "623:28:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Realitio_$4741",
              "typeString": "contract Realitio"
            },
            "typeName": {
              "contractScope": null,
              "id": 323,
              "name": "Realitio",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4741,
              "src": "623:8:1",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Realitio_$4741",
                "typeString": "contract Realitio"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 330,
            "name": "fundHoldingChange",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "691:68:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_int256_$_$",
              "typeString": "mapping(bytes32 => mapping(address => int256))"
            },
            "typeName": {
              "id": 329,
              "keyType": {
                "id": 325,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "699:7:1",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "691:43:1",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_int256_$_$",
                "typeString": "mapping(bytes32 => mapping(address => int256))"
              },
              "valueType": {
                "id": 328,
                "keyType": {
                  "id": 326,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "718:7:1",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "710:23:1",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_int256_$",
                  "typeString": "mapping(address => int256)"
                },
                "valueType": {
                  "id": 327,
                  "name": "int",
                  "nodeType": "ElementaryTypeName",
                  "src": "729:3:1",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  }
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 334,
            "name": "fETTFbalanceChange",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "800:49:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
              "typeString": "mapping(bytes32 => int256)"
            },
            "typeName": {
              "id": 333,
              "keyType": {
                "id": 331,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "808:7:1",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "800:23:1",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                "typeString": "mapping(bytes32 => int256)"
              },
              "valueType": {
                "id": 332,
                "name": "int",
                "nodeType": "ElementaryTypeName",
                "src": "819:3:1",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 337,
            "name": "templateId",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "861:27:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 335,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "861:7:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 336,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "887:1:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 340,
            "name": "minBond",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "894:35:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 338,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "894:7:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35303030303030303030",
              "id": 339,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "919:10:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_5000000000_by_1",
                "typeString": "int_const 5000000000"
              },
              "value": "5000000000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 343,
            "name": "minTimeout",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "935:30:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 341,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "935:6:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31303030",
              "id": 342,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "961:4:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000_by_1",
                "typeString": "int_const 1000"
              },
              "value": "1000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 345,
            "name": "openingTs",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "971:23:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 344,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "971:6:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 348,
            "name": "minQuestionFunding",
            "nodeType": "VariableDeclaration",
            "scope": 896,
            "src": "1000:51:1",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 346,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1000:7:1",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35303030303030303030303030303030",
              "id": 347,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1035:16:1",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_5000000000000000_by_1",
                "typeString": "int_const 5000000000000000"
              },
              "value": "5000000000000000"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 366,
              "nodeType": "Block",
              "src": "1316:45:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 364,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 362,
                      "name": "realityCheck",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 324,
                      "src": "1326:12:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$4741",
                        "typeString": "contract Realitio"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 363,
                      "name": "realityCheck_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 350,
                      "src": "1341:13:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$4741",
                        "typeString": "contract Realitio"
                      }
                    },
                    "src": "1326:28:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$4741",
                      "typeString": "contract Realitio"
                    }
                  },
                  "id": 365,
                  "nodeType": "ExpressionStatement",
                  "src": "1326:28:1"
                }
              ]
            },
            "documentation": null,
            "id": 367,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 358,
                    "name": "fSystem_",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 352,
                    "src": "1285:8:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 359,
                    "name": "funding",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 355,
                    "src": "1295:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                      "typeString": "address[] memory"
                    }
                  }
                ],
                "id": 360,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 357,
                  "name": "ForkonomicToken",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2262,
                  "src": "1269:15:1",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                    "typeString": "type(contract ForkonomicToken)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1269:34:1"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 356,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 350,
                  "name": "realityCheck_",
                  "nodeType": "VariableDeclaration",
                  "scope": 367,
                  "src": "1172:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Realitio_$4741",
                    "typeString": "contract Realitio"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 349,
                    "name": "Realitio",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4741,
                    "src": "1172:8:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$4741",
                      "typeString": "contract Realitio"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 352,
                  "name": "fSystem_",
                  "nodeType": "VariableDeclaration",
                  "scope": 367,
                  "src": "1205:25:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                    "typeString": "contract ForkonomicSystem"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 351,
                    "name": "ForkonomicSystem",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1313,
                    "src": "1205:16:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 355,
                  "name": "funding",
                  "nodeType": "VariableDeclaration",
                  "scope": 367,
                  "src": "1240:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 353,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1240:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 354,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1240:10:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1162:102:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 361,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1316:0:1"
            },
            "scope": 896,
            "src": "1151:210:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 501,
              "nodeType": "Block",
              "src": "1688:1199:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 390,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 384,
                      "name": "openingTs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 345,
                      "src": "1725:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 388,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 386,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5395,
                            "src": "1744:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "3330",
                            "id": 387,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1750:7:1",
                            "subdenomination": "days",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_2592000_by_1",
                              "typeString": "int_const 2592000"
                            },
                            "value": "30"
                          },
                          "src": "1744:13:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 385,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1737:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint32_$",
                          "typeString": "type(uint32)"
                        },
                        "typeName": "uint32"
                      },
                      "id": 389,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1737:21:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "1725:33:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 391,
                  "nodeType": "ExpressionStatement",
                  "src": "1725:33:1"
                },
                {
                  "assignments": [
                    393
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 393,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 502,
                      "src": "1768:12:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 392,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "1768:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 405,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 397,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 369,
                            "src": "1810:6:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 398,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 371,
                            "src": "1818:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 399,
                            "name": "balanceChange",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 373,
                            "src": "1835:13:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 400,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 375,
                            "src": "1850:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 401,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5393,
                              "src": "1864:3:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 402,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1864:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 395,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "1793:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 396,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1793:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 403,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1793:82:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 394,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5387,
                      "src": "1783:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 404,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1783:93:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1768:108:1"
                },
                {
                  "assignments": [
                    407
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 407,
                      "name": "question",
                      "nodeType": "VariableDeclaration",
                      "scope": 502,
                      "src": "1886:22:1",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 406,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1886:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 420,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "46726f6d20616c6c206f666665727320666f72207468652066455454462c2074686520666f6c6c6f77696e67206465616c207761732074686520626573743a",
                            "id": 411,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1935:65:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            "value": "From all offers for the fETTF, the following deal was the best:"
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 414,
                                    "name": "deal",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 393,
                                    "src": "2026:4:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 413,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "2018:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes32_$",
                                    "typeString": "type(bytes32)"
                                  },
                                  "typeName": "bytes32"
                                },
                                "id": 415,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2018:13:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 412,
                              "name": "bytes32ToString",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 865,
                              "src": "2002:15:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes32) returns (string memory)"
                              }
                            },
                            "id": 416,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2002:30:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "3f",
                            "id": 417,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2034:3:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            },
                            "value": "?"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 409,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "1918:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 410,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1918:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 418,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1918:120:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 408,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1911:6:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 419,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1911:128:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1886:153:1"
                },
                {
                  "assignments": [
                    422
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 422,
                      "name": "questionId",
                      "nodeType": "VariableDeclaration",
                      "scope": 502,
                      "src": "2148:18:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 421,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2148:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 437,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 430,
                        "name": "templateId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 337,
                        "src": "2217:10:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 431,
                        "name": "question",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 407,
                        "src": "2229:8:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 432,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 377,
                        "src": "2239:10:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 433,
                        "name": "minTimeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 343,
                        "src": "2251:10:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 434,
                        "name": "openingTs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 345,
                        "src": "2263:9:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 435,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2274:1:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          },
                          "id": 428,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "hexValue": "35",
                            "id": 426,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2200:1:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_5_by_1",
                              "typeString": "int_const 5"
                            },
                            "value": "5"
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31303030303030303030303030",
                            "id": 427,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2202:13:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1000000000000_by_1",
                              "typeString": "int_const 1000000000000"
                            },
                            "value": "1000000000000"
                          },
                          "src": "2200:15:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 423,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 324,
                            "src": "2169:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$4741",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 424,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "askQuestion",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3364,
                          "src": "2169:24:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                          }
                        },
                        "id": 425,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2169:30:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$value_$",
                          "typeString": "function (uint256) returns (function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32))"
                        }
                      },
                      "id": 429,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2169:47:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$value",
                        "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                      }
                    },
                    "id": 436,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2169:107:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2148:128:1"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    },
                    "id": 440,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 438,
                      "name": "balanceChange",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 373,
                      "src": "2333:13:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 439,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2349:1:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2333:17:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 481,
                    "nodeType": "Block",
                    "src": "2541:121:1",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "id": 468,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 466,
                                "name": "compensation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 375,
                                "src": "2562:12:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 467,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2577:1:1",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "2562:16:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 465,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              5396,
                              5397
                            ],
                            "referencedDeclaration": 5396,
                            "src": "2554:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 469,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2554:25:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 470,
                        "nodeType": "ExpressionStatement",
                        "src": "2554:25:1"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 472,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5393,
                                "src": "2605:3:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 473,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "2605:10:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 474,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5422,
                              "src": "2617:4:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                "typeString": "contract ForkonomicETTF"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 476,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 375,
                                  "src": "2628:12:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                ],
                                "id": 475,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2623:4:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint"
                              },
                              "id": 477,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2623:18:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 478,
                              "name": "branch",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 369,
                              "src": "2643:6:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                "typeString": "contract ForkonomicETTF"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 471,
                            "name": "transferFrom",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1865,
                            "src": "2592:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                              "typeString": "function (address,address,uint256,bytes32) returns (bool)"
                            }
                          },
                          "id": 479,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2592:58:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 480,
                        "nodeType": "ExpressionStatement",
                        "src": "2592:58:1"
                      }
                    ]
                  },
                  "id": 482,
                  "nodeType": "IfStatement",
                  "src": "2329:333:1",
                  "trueBody": {
                    "id": 464,
                    "nodeType": "Block",
                    "src": "2352:183:1",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "id": 444,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 442,
                                "name": "compensation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 375,
                                "src": "2374:12:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 443,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2389:1:1",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "2374:16:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 441,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              5396,
                              5397
                            ],
                            "referencedDeclaration": 5396,
                            "src": "2366:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 445,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2366:25:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 446,
                        "nodeType": "ExpressionStatement",
                        "src": "2366:25:1"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 452,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5393,
                                    "src": "2462:3:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 453,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "2462:10:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 454,
                                  "name": "this",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5422,
                                  "src": "2474:4:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                    "typeString": "contract ForkonomicETTF"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 456,
                                      "name": "balanceChange",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 373,
                                      "src": "2485:13:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      }
                                    ],
                                    "id": 455,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "2480:4:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_uint256_$",
                                      "typeString": "type(uint256)"
                                    },
                                    "typeName": "uint"
                                  },
                                  "id": 457,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2480:19:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 458,
                                  "name": "branch",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 369,
                                  "src": "2501:6:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 459,
                                  "name": "fromBox",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 379,
                                  "src": "2509:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 460,
                                  "name": "deal",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 393,
                                  "src": "2518:4:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                    "typeString": "contract ForkonomicETTF"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 449,
                                      "name": "forkonomicToken",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 371,
                                      "src": "2429:15:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 448,
                                    "name": "ForkonomicToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2262,
                                    "src": "2413:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                      "typeString": "type(contract ForkonomicToken)"
                                    }
                                  },
                                  "id": 450,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2413:32:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                    "typeString": "contract ForkonomicToken"
                                  }
                                },
                                "id": 451,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "boxTransferFrom",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2023,
                                "src": "2413:48:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (address,address,uint256,bytes32,bytes32,bytes32) external returns (bool)"
                                }
                              },
                              "id": 461,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2413:110:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 447,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              5396,
                              5397
                            ],
                            "referencedDeclaration": 5396,
                            "src": "2405:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 462,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2405:119:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 463,
                        "nodeType": "ExpressionStatement",
                        "src": "2405:119:1"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 487,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 484,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5393,
                            "src": "2724:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 485,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2724:9:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 486,
                          "name": "minQuestionFunding",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 348,
                          "src": "2737:18:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2724:31:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 483,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5396,
                      "src": "2716:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 488,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2716:40:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 489,
                  "nodeType": "ExpressionStatement",
                  "src": "2716:40:1"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 491,
                        "name": "branch",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 369,
                        "src": "2788:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 492,
                        "name": "forkonomicToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 371,
                        "src": "2796:15:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 493,
                        "name": "balanceChange",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 373,
                        "src": "2813:13:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 494,
                        "name": "compensation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 375,
                        "src": "2828:12:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 495,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5393,
                          "src": "2842:3:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 496,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2842:10:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 490,
                      "name": "NewDealProposed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 313,
                      "src": "2772:15:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_int256_$_t_int256_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address,int256,int256,address)"
                      }
                    },
                    "id": 497,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2772:81:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 498,
                  "nodeType": "EmitStatement",
                  "src": "2767:86:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 499,
                    "name": "questionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 422,
                    "src": "2870:10:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 383,
                  "id": 500,
                  "nodeType": "Return",
                  "src": "2863:17:1"
                }
              ]
            },
            "documentation": null,
            "id": 502,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "proposeInvestment",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 380,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 369,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1536:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 368,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1536:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 371,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1552:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 370,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1552:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 373,
                  "name": "balanceChange",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1577:17:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 372,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1577:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 375,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1596:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 374,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1596:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 377,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1614:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 376,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1614:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 379,
                  "name": "fromBox",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1634:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 378,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1634:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1535:115:1"
            },
            "payable": true,
            "returnParameters": {
              "id": 383,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 382,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 502,
                  "src": "1679:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 381,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1679:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1678:9:1"
            },
            "scope": 896,
            "src": "1509:1378:1",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 709,
              "nodeType": "Block",
              "src": "3214:2519:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 524,
                            "name": "originalbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 508,
                            "src": "3327:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 525,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 506,
                            "src": "3343:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 522,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1388,
                            "src": "3302:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 523,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isFatherOfBranch",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1312,
                          "src": "3302:24:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 526,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3302:57:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "206272616e6368206973206e6f742061206368696c64206f66206f726967696e616c206272616e6368",
                        "id": 527,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3361:43:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_46ebfa022c3b924ef02ec8a758dfe75f447dfde9369dc8a4799c9037a84d2ffe",
                          "typeString": "literal_string \" branch is not a child of original branch\""
                        },
                        "value": " branch is not a child of original branch"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_46ebfa022c3b924ef02ec8a758dfe75f447dfde9369dc8a4799c9037a84d2ffe",
                          "typeString": "literal_string \" branch is not a child of original branch\""
                        }
                      ],
                      "id": 521,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5397,
                      "src": "3294:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 528,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3294:111:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 529,
                  "nodeType": "ExpressionStatement",
                  "src": "3294:111:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 533,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 516,
                            "src": "3507:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 534,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 506,
                            "src": "3519:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 531,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1388,
                            "src": "3475:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 532,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isArbitratorWhitelisted",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1195,
                          "src": "3475:31:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 535,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3475:60:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206973206e6f742077686974652d6c6973746564",
                        "id": 536,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3537:32:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f84fd87c92ae620f7831938d14e18b2a487699f26b9d25a68929007d7cb502c6",
                          "typeString": "literal_string \"arbitrator is not white-listed\""
                        },
                        "value": "arbitrator is not white-listed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f84fd87c92ae620f7831938d14e18b2a487699f26b9d25a68929007d7cb502c6",
                          "typeString": "literal_string \"arbitrator is not white-listed\""
                        }
                      ],
                      "id": 530,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5397,
                      "src": "3467:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 537,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3467:103:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 538,
                  "nodeType": "ExpressionStatement",
                  "src": "3467:103:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 544,
                                "name": "questionId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 504,
                                "src": "3647:10:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 542,
                                "name": "realityCheck",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 324,
                                "src": "3620:12:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Realitio_$4741",
                                  "typeString": "contract Realitio"
                                }
                              },
                              "id": 543,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getFinalizeTS",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4675,
                              "src": "3620:26:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint32_$",
                                "typeString": "function (bytes32) view external returns (uint32)"
                              }
                            },
                            "id": 545,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3620:38:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 546,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 506,
                            "src": "3660:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 540,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1388,
                            "src": "3589:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 541,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isBranchCreatedAfterTS",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1258,
                          "src": "3589:30:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (uint256,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 547,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3589:87:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "77696e646f77202b2074696d6520206973206e6f7420636f7272656374",
                        "id": 548,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3678:31:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_df287d9abd71b3487296293693b54ca7fcab91d1b10e393da43053b7747e0814",
                          "typeString": "literal_string \"window + time  is not correct\""
                        },
                        "value": "window + time  is not correct"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_df287d9abd71b3487296293693b54ca7fcab91d1b10e393da43053b7747e0814",
                          "typeString": "literal_string \"window + time  is not correct\""
                        }
                      ],
                      "id": 539,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5397,
                      "src": "3581:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 549,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3581:129:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 550,
                  "nodeType": "ExpressionStatement",
                  "src": "3581:129:1"
                },
                {
                  "assignments": [
                    552
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 552,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 710,
                      "src": "3761:12:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 551,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "3761:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 564,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 556,
                            "name": "originalbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 508,
                            "src": "3803:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 557,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 510,
                            "src": "3819:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 558,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 512,
                            "src": "3836:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 559,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 514,
                            "src": "3852:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 560,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5393,
                              "src": "3866:3:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 561,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3866:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 554,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "3786:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 555,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3786:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 562,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3786:91:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 553,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5387,
                      "src": "3776:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 563,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3776:102:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3761:117:1"
                },
                {
                  "assignments": [
                    566
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 566,
                      "name": "question",
                      "nodeType": "VariableDeclaration",
                      "scope": 710,
                      "src": "3888:22:1",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 565,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3888:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 579,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "46726f6d20616c6c206f666665727320666f72207468652066455454462c2074686520666f6c6c6f77696e67206465616c207761732074686520626573743a",
                            "id": 570,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3937:65:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            "value": "From all offers for the fETTF, the following deal was the best:"
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 573,
                                    "name": "deal",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 552,
                                    "src": "4028:4:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 572,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "4020:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes32_$",
                                    "typeString": "type(bytes32)"
                                  },
                                  "typeName": "bytes32"
                                },
                                "id": 574,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4020:13:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 571,
                              "name": "bytes32ToString",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 865,
                              "src": "4004:15:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes32) returns (string memory)"
                              }
                            },
                            "id": 575,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4004:30:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "3f",
                            "id": 576,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4036:3:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            },
                            "value": "?"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 568,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "3920:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 569,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3920:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 577,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3920:120:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 567,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "3913:6:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 578,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3913:128:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3888:153:1"
                },
                {
                  "assignments": [
                    581
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 581,
                      "name": "contentHash",
                      "nodeType": "VariableDeclaration",
                      "scope": 710,
                      "src": "4051:19:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 580,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4051:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 590,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 585,
                            "name": "templateId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 337,
                            "src": "4100:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 586,
                            "name": "openingTs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 345,
                            "src": "4112:9:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 587,
                            "name": "question",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 566,
                            "src": "4123:8:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 583,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "4083:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 584,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4083:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 588,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4083:49:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 582,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5387,
                      "src": "4073:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 589,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4073:60:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4051:82:1"
                },
                {
                  "assignments": [
                    592
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 592,
                      "name": "ans",
                      "nodeType": "VariableDeclaration",
                      "scope": 710,
                      "src": "4148:8:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 591,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4148:4:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 603,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 596,
                            "name": "questionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 504,
                            "src": "4201:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 597,
                            "name": "contentHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 581,
                            "src": "4213:11:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 598,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 516,
                            "src": "4226:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 599,
                            "name": "minTimeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 343,
                            "src": "4238:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 600,
                            "name": "minBond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 340,
                            "src": "4250:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 594,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 324,
                            "src": "4164:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$4741",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 595,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getFinalAnswerIfMatches",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4047,
                          "src": "4164:36:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (bytes32,bytes32,address,uint32,uint256) view external returns (bytes32)"
                          }
                        },
                        "id": 601,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4164:94:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 593,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "4159:4:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint256_$",
                        "typeString": "type(uint256)"
                      },
                      "typeName": "uint"
                    },
                    "id": 602,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4159:100:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4148:111:1"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 606,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 604,
                      "name": "ans",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 592,
                      "src": "4546:3:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 605,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4553:1:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4546:8:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 707,
                    "nodeType": "Block",
                    "src": "4918:809:1",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 643,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 641,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 512,
                            "src": "5018:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 642,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5035:1:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5018:18:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 705,
                          "nodeType": "Block",
                          "src": "5430:287:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 690,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 5393,
                                          "src": "5582:3:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 691,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "5582:10:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 693,
                                            "name": "balanceChange_",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 512,
                                            "src": "5599:14:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 692,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "5594:4:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 694,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5594:20:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 695,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 506,
                                        "src": "5616:15:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 687,
                                            "name": "forkonomicToken",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 510,
                                            "src": "5556:15:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 686,
                                          "name": "ForkonomicToken",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 2262,
                                          "src": "5540:15:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                            "typeString": "type(contract ForkonomicToken)"
                                          }
                                        },
                                        "id": 688,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5540:32:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                          "typeString": "contract ForkonomicToken"
                                        }
                                      },
                                      "id": 689,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "transfer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 1730,
                                      "src": "5540:41:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32) external returns (bool)"
                                      }
                                    },
                                    "id": 696,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5540:92:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 685,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5396,
                                    5397
                                  ],
                                  "referencedDeclaration": 5396,
                                  "src": "5532:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 697,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5532:101:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 698,
                              "nodeType": "ExpressionStatement",
                              "src": "5532:101:1"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 703,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 699,
                                    "name": "fETTFbalanceChange",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 334,
                                    "src": "5651:18:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 701,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 700,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 506,
                                    "src": "5670:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5651:35:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 702,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 514,
                                  "src": "5690:12:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5651:51:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 704,
                              "nodeType": "ExpressionStatement",
                              "src": "5651:51:1"
                            }
                          ]
                        },
                        "id": 706,
                        "nodeType": "IfStatement",
                        "src": "5014:703:1",
                        "trueBody": {
                          "id": 684,
                          "nodeType": "Block",
                          "src": "5038:386:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 652,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "UnaryOperation",
                                    "operator": "!",
                                    "prefix": true,
                                    "src": "5064:73:1",
                                    "subExpression": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 646,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5393,
                                            "src": "5082:3:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_message",
                                              "typeString": "msg"
                                            }
                                          },
                                          "id": 647,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "sender",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "5082:10:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 648,
                                          "name": "NULL_HASH",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1360,
                                          "src": "5094:9:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 649,
                                          "name": "executionbranch",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 506,
                                          "src": "5105:15:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 650,
                                          "name": "originalbranch",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 508,
                                          "src": "5122:14:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        ],
                                        "id": 645,
                                        "name": "hasBoxWithdrawal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2141,
                                        "src": "5065:16:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                          "typeString": "function (address,bytes32,bytes32,bytes32) view returns (bool)"
                                        }
                                      },
                                      "id": 651,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5065:72:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 644,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5396,
                                    5397
                                  ],
                                  "referencedDeclaration": 5396,
                                  "src": "5056:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 653,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5056:82:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 654,
                              "nodeType": "ExpressionStatement",
                              "src": "5056:82:1"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 668,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 655,
                                      "name": "balanceChange",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1366,
                                      "src": "5157:13:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_int256_$_$",
                                        "typeString": "mapping(bytes32 => mapping(bytes32 => int256))"
                                      }
                                    },
                                    "id": 665,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 656,
                                      "name": "executionbranch",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 506,
                                      "src": "5171:15:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5157:30:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 666,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "expression": {
                                              "argumentTypes": null,
                                              "id": 660,
                                              "name": "msg",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 5393,
                                              "src": "5215:3:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                              }
                                            },
                                            "id": 661,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "5215:10:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          },
                                          {
                                            "argumentTypes": null,
                                            "id": 662,
                                            "name": "NULL_HASH",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1360,
                                            "src": "5227:9:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            },
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 658,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5380,
                                            "src": "5198:3:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 659,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberName": "encodePacked",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "5198:16:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 663,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5198:39:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 657,
                                      "name": "keccak256",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5387,
                                      "src": "5188:9:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                        "typeString": "function () pure returns (bytes32)"
                                      }
                                    },
                                    "id": 664,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5188:50:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5157:82:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 667,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 514,
                                  "src": "5243:12:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5157:98:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 669,
                              "nodeType": "ExpressionStatement",
                              "src": "5157:98:1"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 674,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 670,
                                    "name": "fETTFbalanceChange",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 334,
                                    "src": "5273:18:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 672,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 671,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 506,
                                    "src": "5292:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5273:35:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 673,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 514,
                                  "src": "5312:12:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5273:51:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 675,
                              "nodeType": "ExpressionStatement",
                              "src": "5273:51:1"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 677,
                                    "name": "NULL_HASH",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1360,
                                    "src": "5362:9:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 679,
                                        "name": "compensation",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 514,
                                        "src": "5378:12:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "id": 678,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "5373:4:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 680,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5373:18:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 681,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 506,
                                    "src": "5393:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 676,
                                  "name": "recordBoxWithdrawal",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2088,
                                  "src": "5342:19:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                    "typeString": "function (bytes32,uint256,bytes32) returns (bool)"
                                  }
                                },
                                "id": 682,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5342:67:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "id": 683,
                              "nodeType": "ExpressionStatement",
                              "src": "5342:67:1"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 708,
                  "nodeType": "IfStatement",
                  "src": "4542:1185:1",
                  "trueBody": {
                    "id": 640,
                    "nodeType": "Block",
                    "src": "4556:356:1",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 609,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 607,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 512,
                            "src": "4625:14:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 608,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4642:1:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4625:18:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 638,
                          "nodeType": "Block",
                          "src": "4803:99:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 629,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 5393,
                                          "src": "4838:3:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 630,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4838:10:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 632,
                                            "name": "compensation",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 514,
                                            "src": "4855:12:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 631,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "4850:4:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 633,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4850:18:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 634,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 506,
                                        "src": "4870:15:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 628,
                                      "name": "transfer",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1730,
                                      "src": "4829:8:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32) returns (bool)"
                                      }
                                    },
                                    "id": 635,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4829:57:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 627,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5396,
                                    5397
                                  ],
                                  "referencedDeclaration": 5396,
                                  "src": "4821:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 636,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4821:66:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 637,
                              "nodeType": "ExpressionStatement",
                              "src": "4821:66:1"
                            }
                          ]
                        },
                        "id": 639,
                        "nodeType": "IfStatement",
                        "src": "4621:281:1",
                        "trueBody": {
                          "id": 626,
                          "nodeType": "Block",
                          "src": "4645:152:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 615,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 5393,
                                          "src": "4716:3:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 616,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4716:10:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 618,
                                            "name": "balanceChange_",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 512,
                                            "src": "4733:14:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 617,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "4728:4:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 619,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4728:20:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 620,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 506,
                                        "src": "4750:15:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 621,
                                        "name": "deal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 552,
                                        "src": "4767:4:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 622,
                                        "name": "fromBox",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 518,
                                        "src": "4773:7:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 612,
                                            "name": "forkonomicToken",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 510,
                                            "src": "4687:15:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 611,
                                          "name": "ForkonomicToken",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 2262,
                                          "src": "4671:15:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                            "typeString": "type(contract ForkonomicToken)"
                                          }
                                        },
                                        "id": 613,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4671:32:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                          "typeString": "contract ForkonomicToken"
                                        }
                                      },
                                      "id": 614,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "boxTransfer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 1842,
                                      "src": "4671:44:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32,bytes32,bytes32) external returns (bool)"
                                      }
                                    },
                                    "id": 623,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4671:110:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 610,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5396,
                                    5397
                                  ],
                                  "referencedDeclaration": 5396,
                                  "src": "4663:7:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 624,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4663:119:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 625,
                              "nodeType": "ExpressionStatement",
                              "src": "4663:119:1"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 710,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "executeInvestmentRequest",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 504,
                  "name": "questionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3034:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 503,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3034:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 506,
                  "name": "executionbranch",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3054:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 505,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3054:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 508,
                  "name": "originalbranch",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3079:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 507,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3079:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 510,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3103:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 509,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3103:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 512,
                  "name": "balanceChange_",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3128:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 511,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "3128:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 514,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3148:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 513,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "3148:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 516,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3166:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 515,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3166:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 518,
                  "name": "fromBox",
                  "nodeType": "VariableDeclaration",
                  "scope": 710,
                  "src": "3186:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 517,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3186:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3033:169:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 520,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3214:0:1"
            },
            "scope": 896,
            "src": "3000:2733:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 805,
              "nodeType": "Block",
              "src": "5840:980:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 722,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5393,
                              "src": "5930:3:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 723,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "5930:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 724,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5422,
                            "src": "5942:4:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                              "typeString": "contract ForkonomicETTF"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 725,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 714,
                            "src": "5948:6:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 726,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 712,
                            "src": "5956:6:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                              "typeString": "contract ForkonomicETTF"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 721,
                          "name": "transferFrom",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1865,
                          "src": "5917:12:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,address,uint256,bytes32) returns (bool)"
                          }
                        },
                        "id": 727,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5917:46:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7472616e7366657220646964206e6f74207061737320696e2072656465656d5265616c69747946756e64546f6b656e73",
                        "id": 728,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5965:50:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c9cafcc2c7a4a2876bdd754fd2d86865e34be4b3c0690404635b83c341ff2563",
                          "typeString": "literal_string \"transfer did not pass in redeemRealityFundTokens\""
                        },
                        "value": "transfer did not pass in redeemRealityFundTokens"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c9cafcc2c7a4a2876bdd754fd2d86865e34be4b3c0690404635b83c341ff2563",
                          "typeString": "literal_string \"transfer did not pass in redeemRealityFundTokens\""
                        }
                      ],
                      "id": 720,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5396,
                        5397
                      ],
                      "referencedDeclaration": 5397,
                      "src": "5909:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 729,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5909:107:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 730,
                  "nodeType": "ExpressionStatement",
                  "src": "5909:107:1"
                },
                {
                  "assignments": [
                    732
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 732,
                      "name": "amountOutstandingETTFToken",
                      "nodeType": "VariableDeclaration",
                      "scope": 806,
                      "src": "6101:33:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 731,
                        "name": "int256",
                        "nodeType": "ElementaryTypeName",
                        "src": "6101:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 734,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 733,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "6137:1:1",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6101:37:1"
                },
                {
                  "assignments": [
                    736
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 736,
                      "name": "hashIteration",
                      "nodeType": "VariableDeclaration",
                      "scope": 806,
                      "src": "6148:21:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 735,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "6148:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 738,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 737,
                    "name": "branch",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 712,
                    "src": "6172:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6148:30:1"
                },
                {
                  "body": {
                    "id": 757,
                    "nodeType": "Block",
                    "src": "6241:157:1",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 748,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 744,
                            "name": "amountOutstandingETTFToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 732,
                            "src": "6255:26:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 745,
                              "name": "fETTFbalanceChange",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 334,
                              "src": "6285:18:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                "typeString": "mapping(bytes32 => int256)"
                              }
                            },
                            "id": 747,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 746,
                              "name": "hashIteration",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 736,
                              "src": "6304:13:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6285:33:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "6255:63:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "id": 749,
                        "nodeType": "ExpressionStatement",
                        "src": "6255:63:1"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 755,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 750,
                            "name": "hashIteration",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 736,
                            "src": "6332:13:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 753,
                                "name": "hashIteration",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 736,
                                "src": "6373:13:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 751,
                                "name": "fSystem",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1388,
                                "src": "6348:7:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                                  "typeString": "contract ForkonomicSystem"
                                }
                              },
                              "id": 752,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "branchParentHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 920,
                              "src": "6348:24:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$",
                                "typeString": "function (bytes32) view external returns (bytes32)"
                              }
                            },
                            "id": 754,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6348:39:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "6332:55:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 756,
                        "nodeType": "ExpressionStatement",
                        "src": "6332:55:1"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 743,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 739,
                      "name": "hashIteration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 736,
                      "src": "6195:13:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 740,
                          "name": "fSystem",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1388,
                          "src": "6212:7:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ForkonomicSystem_$1313",
                            "typeString": "contract ForkonomicSystem"
                          }
                        },
                        "id": 741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "genesisBranchHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 942,
                        "src": "6212:25:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                          "typeString": "function () view external returns (bytes32)"
                        }
                      },
                      "id": 742,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6212:27:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "6195:44:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 758,
                  "nodeType": "WhileStatement",
                  "src": "6188:210:1"
                },
                {
                  "body": {
                    "id": 803,
                    "nodeType": "Block",
                    "src": "6499:314:1",
                    "statements": [
                      {
                        "assignments": [
                          771
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 771,
                            "name": "holdings",
                            "nodeType": "VariableDeclaration",
                            "scope": 806,
                            "src": "6513:16:1",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 770,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "6513:7:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 781,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 778,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5422,
                              "src": "6579:4:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                "typeString": "contract ForkonomicETTF"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 779,
                              "name": "branch",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 712,
                              "src": "6585:6:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$896",
                                "typeString": "contract ForkonomicETTF"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 773,
                                    "name": "forkonomicTokens",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 717,
                                    "src": "6548:16:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                      "typeString": "address[] memory"
                                    }
                                  },
                                  "id": 775,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 774,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 760,
                                    "src": "6565:1:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6548:19:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 772,
                                "name": "ForkonomicToken",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2262,
                                "src": "6532:15:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                  "typeString": "type(contract ForkonomicToken)"
                                }
                              },
                              "id": 776,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6532:36:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                "typeString": "contract ForkonomicToken"
                              }
                            },
                            "id": 777,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "balanceOf",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1614,
                            "src": "6532:46:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_uint256_$",
                              "typeString": "function (address,bytes32) view external returns (uint256)"
                            }
                          },
                          "id": 780,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6532:60:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6513:79:1"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 789,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5393,
                                    "src": "6688:3:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 790,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "6688:10:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 797,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 793,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 791,
                                      "name": "amount",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 714,
                                      "src": "6700:6:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "*",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 792,
                                      "name": "holdings",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 771,
                                      "src": "6709:8:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "6700:17:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "/",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 795,
                                        "name": "amountOutstandingETTFToken",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 732,
                                        "src": "6725:26:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "id": 794,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6720:4:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 796,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6720:32:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "6700:52:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 798,
                                  "name": "branch",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 712,
                                  "src": "6754:6:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 784,
                                        "name": "forkonomicTokens",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 717,
                                        "src": "6658:16:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                          "typeString": "address[] memory"
                                        }
                                      },
                                      "id": 786,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 785,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 760,
                                        "src": "6675:1:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "6658:19:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 783,
                                    "name": "ForkonomicToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2262,
                                    "src": "6642:15:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$2262_$",
                                      "typeString": "type(contract ForkonomicToken)"
                                    }
                                  },
                                  "id": 787,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6642:36:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicToken_$2262",
                                    "typeString": "contract ForkonomicToken"
                                  }
                                },
                                "id": 788,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "transfer",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1730,
                                "src": "6642:45:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (address,uint256,bytes32) external returns (bool)"
                                }
                              },
                              "id": 799,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6642:119:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "7472616e73666572206f662066756e647320776173206e6f74207375636365737366756c",
                              "id": 800,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6763:38:1",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_4d57f05af38d42c763154549bbe68cb7872363b49ac7b19db4dfa53158ffc2eb",
                                "typeString": "literal_string \"transfer of funds was not successful\""
                              },
                              "value": "transfer of funds was not successful"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_4d57f05af38d42c763154549bbe68cb7872363b49ac7b19db4dfa53158ffc2eb",
                                "typeString": "literal_string \"transfer of funds was not successful\""
                              }
                            ],
                            "id": 782,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              5396,
                              5397
                            ],
                            "referencedDeclaration": 5397,
                            "src": "6634:7:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 801,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6634:168:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 802,
                        "nodeType": "ExpressionStatement",
                        "src": "6634:168:1"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 766,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 763,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 760,
                      "src": "6465:1:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 764,
                        "name": "forkonomicTokens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 717,
                        "src": "6469:16:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 765,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6469:23:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6465:27:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 804,
                  "initializationExpression": {
                    "assignments": [
                      760
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 760,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 806,
                        "src": "6455:6:1",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 759,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6455:4:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 762,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 761,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6462:1:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6455:8:1"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 768,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6494:3:1",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 767,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 760,
                        "src": "6494:1:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 769,
                    "nodeType": "ExpressionStatement",
                    "src": "6494:3:1"
                  },
                  "nodeType": "ForStatement",
                  "src": "6450:363:1"
                }
              ]
            },
            "documentation": null,
            "id": 806,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "redeemRealityFundTokens",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 718,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 712,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 806,
                  "src": "5775:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 711,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5775:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 714,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 806,
                  "src": "5791:11:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 713,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5791:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 717,
                  "name": "forkonomicTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 806,
                  "src": "5804:27:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 715,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5804:7:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 716,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5804:10:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5774:58:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 719,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5840:0:1"
            },
            "scope": 896,
            "src": "5742:1078:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 864,
              "nodeType": "Block",
              "src": "6890:289:1",
              "statements": [
                {
                  "assignments": [
                    814
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 814,
                      "name": "bytesString",
                      "nodeType": "VariableDeclaration",
                      "scope": 865,
                      "src": "6900:24:1",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 813,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6900:5:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 819,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "3332",
                        "id": 817,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6937:2:1",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_32_by_1",
                          "typeString": "int_const 32"
                        },
                        "value": "32"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_32_by_1",
                          "typeString": "int_const 32"
                        }
                      ],
                      "id": 816,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "6927:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
                        "typeString": "function (uint256) pure returns (bytes memory)"
                      },
                      "typeName": {
                        "id": 815,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6931:5:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      }
                    },
                    "id": 818,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6927:13:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6900:40:1"
                },
                {
                  "body": {
                    "id": 858,
                    "nodeType": "Block",
                    "src": "6978:159:1",
                    "statements": [
                      {
                        "assignments": [
                          831
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 831,
                            "name": "char",
                            "nodeType": "VariableDeclaration",
                            "scope": 865,
                            "src": "6992:9:1",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            },
                            "typeName": {
                              "id": 830,
                              "name": "byte",
                              "nodeType": "ElementaryTypeName",
                              "src": "6992:4:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes1",
                                "typeString": "bytes1"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 846,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 843,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 835,
                                        "name": "data",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 808,
                                        "src": "7022:4:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 834,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "7017:4:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 836,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7017:10:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "*",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 842,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "hexValue": "32",
                                      "id": 837,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "7030:1:1",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_2_by_1",
                                        "typeString": "int_const 2"
                                      },
                                      "value": "2"
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "**",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "components": [
                                        {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "id": 840,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "38",
                                            "id": 838,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "7036:1:1",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_8_by_1",
                                              "typeString": "int_const 8"
                                            },
                                            "value": "8"
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "*",
                                          "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 839,
                                            "name": "j",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 821,
                                            "src": "7040:1:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "src": "7036:5:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "id": 841,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "TupleExpression",
                                      "src": "7035:7:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "7030:12:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "7017:25:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 833,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "7009:7:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes32_$",
                                  "typeString": "type(bytes32)"
                                },
                                "typeName": "bytes32"
                              },
                              "id": 844,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "7009:34:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 832,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "7004:4:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes1_$",
                              "typeString": "type(bytes1)"
                            },
                            "typeName": "byte"
                          },
                          "id": 845,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7004:40:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6992:52:1"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          },
                          "id": 849,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 847,
                            "name": "char",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 831,
                            "src": "7062:4:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 848,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7070:1:1",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "7062:9:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 857,
                        "nodeType": "IfStatement",
                        "src": "7058:69:1",
                        "trueBody": {
                          "id": 856,
                          "nodeType": "Block",
                          "src": "7073:54:1",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 854,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 850,
                                    "name": "bytesString",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 814,
                                    "src": "7091:11:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 852,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 851,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 821,
                                    "src": "7103:1:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "7091:14:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes1",
                                    "typeString": "bytes1"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 853,
                                  "name": "char",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 831,
                                  "src": "7108:4:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes1",
                                    "typeString": "bytes1"
                                  }
                                },
                                "src": "7091:21:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes1",
                                  "typeString": "bytes1"
                                }
                              },
                              "id": 855,
                              "nodeType": "ExpressionStatement",
                              "src": "7091:21:1"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 824,
                      "name": "j",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 821,
                      "src": "6965:1:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "3332",
                      "id": 825,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6969:2:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_32_by_1",
                        "typeString": "int_const 32"
                      },
                      "value": "32"
                    },
                    "src": "6965:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 859,
                  "initializationExpression": {
                    "assignments": [
                      821
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 821,
                        "name": "j",
                        "nodeType": "VariableDeclaration",
                        "scope": 865,
                        "src": "6955:6:1",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 820,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6955:4:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 823,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 822,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6962:1:1",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6955:8:1"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 828,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6973:3:1",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 827,
                        "name": "j",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 821,
                        "src": "6973:1:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 829,
                    "nodeType": "ExpressionStatement",
                    "src": "6973:3:1"
                  },
                  "nodeType": "ForStatement",
                  "src": "6950:187:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 861,
                        "name": "bytesString",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 814,
                        "src": "7160:11:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 860,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "7153:6:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 862,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7153:19:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 812,
                  "id": 863,
                  "nodeType": "Return",
                  "src": "7146:26:1"
                }
              ]
            },
            "documentation": null,
            "id": 865,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "bytes32ToString",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 809,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 808,
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "scope": 865,
                  "src": "6852:12:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 807,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6852:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6851:14:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 812,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 811,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 865,
                  "src": "6882:6:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 810,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6882:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6881:8:1"
            },
            "scope": 896,
            "src": "6826:353:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 894,
              "nodeType": "Block",
              "src": "7315:146:1",
              "statements": [
                {
                  "assignments": [
                    879
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 879,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 895,
                      "src": "7325:12:1",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 878,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "7325:7:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 891,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 883,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 867,
                            "src": "7367:6:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 884,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 869,
                            "src": "7375:15:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 885,
                            "name": "balanceChange",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 871,
                            "src": "7392:13:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 886,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 873,
                            "src": "7407:12:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 887,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5393,
                              "src": "7421:3:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 888,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "7421:10:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 881,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5380,
                            "src": "7350:3:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 882,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7350:16:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 889,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7350:82:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 880,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5387,
                      "src": "7340:9:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 890,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7340:93:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7325:108:1"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 892,
                    "name": "deal",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 879,
                    "src": "7450:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 877,
                  "id": 893,
                  "nodeType": "Return",
                  "src": "7443:11:1"
                }
              ]
            },
            "documentation": null,
            "id": 895,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "calcDealBytes",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 874,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 867,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7208:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 866,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7208:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 869,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7224:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 868,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7224:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 871,
                  "name": "balanceChange",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7249:17:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 870,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "7249:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 873,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7268:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 872,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "7268:3:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7207:78:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 877,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 876,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 895,
                  "src": "7306:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 875,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7306:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7305:9:1"
            },
            "scope": 896,
            "src": "7185:276:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 897,
        "src": "163:7300:1"
      }
    ],
    "src": "0:7463:1"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.0-beta.1",
  "updatedAt": "2018-10-27T11:24:32.597Z"
}